Visual C++ 自动构建

转载请注明来源:http://blog.youkuaiyun.com/caoshiying/article/details/52247858

现在Visual Studio的体积越来越庞大了,微软对VC的支持越来越不好了。然而CodeLite、CodeBlocks等对VC的支持问题太多,今天想到一个自动构建的办法解决这个问题。

一个基于VS2008的自动构建环境:

@echo off

title 自动构建环境

set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include

set LIB=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\lib;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib

set BIN=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Packages;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

set PATH=%PATH%;%BIN%

set PATH=%PATH%;%BIN%

@echo on

@cmd /k k.bat

其中k.bat是空批处理文件。目的是双击构建批处理的时候防止批处理自动退出。为给大家演示如何使用,以下新建一个名称为hello_world的Win32控件台工程,只留一个代码文件:map.cpp,代码如下:

#include "stdafx.h"
#include <iostream>

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    _tprintf(_T("我的一个HelloWorld。\n"));
    system("pause");
    return 0;
}

针对此项目编写的自动构建命令如下:

OBJ= main.obj

RES=resource.res

default: test01_dll

test01_dll: $(OBJ) $(RES)
	link /nologo /DLL /implib:test01_i.lib /out:test01.dll $(OBJ) $(RES) user32.lib kernel32.lib comctl32.lib ws2_32.lib

.rc.res:
	rc /nologo $*.rc
	
.cpp.obj:
	cl /nologo /MDd /W3 /DDEBUG /D_DEBUG /DWIN32 /c $*.cpp /Fo$@

clean:
	del /f /s /q *.obj

把以上代码文件另存为makefile.vc,放在代码目录下。打开上面的批处理,运行命令:

nmake /f makefile.vc


看到编输出即可运行那make.exe。


转载于:https://my.oschina.net/zhtqs/blog/1509831

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值