我喜欢用gmake,因为在哪个平台上基本上都能找到,认准了一个用就比较熟练了,呵呵,有兴趣的可以自己下载一个,我是用的unxUtils包,在sourceforge上有下,设置好后就行了,
随便写个源码
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR
szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("你好VC"), TEXT ("欢迎"), 0);
return 0;
}
保存为main.cpp
下边是makefile的内容,图简单,没用那些$@之类的,慢慢简化吧
CC="C:/Program Files/Microsoft Visual Studio 8/VC/bin/cl.exe"
LINK="C:/Program Files/Microsoft Visual Studio 8/VC/bin/link.exe"
LIB_PATH= /LIBPATH:"C:/Program Files/Microsoft Visual Studio 8/VC/lib"
LIB_PATH+= /LIBPATH:"C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Lib"
LIB = User32.lib
all:main.exe
main.exe:main.obj
$(LINK) main.obj $(LIB_PATH) $(LIB) /OUT:main.exe
main.obj:main.cpp
$(CC) /c main.cpp
clean:
del *.obj
del main.exe
然后make,搞定
有时会要mspdb80.dll,把这个文件找到,放到path下就行了,不过,我碰到一个问题,在makefile执行时,当前用户的path环境变量好像不行,设置到系统变量里就可以了
link时的/SUBSYSTEM:WINDOWS是指定编译结果的类型,比如是控制台程序还是win32程序,/OUT:my.exe则是指编译的程度结果名
随便写个源码
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR
szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("你好VC"), TEXT ("欢迎"), 0);
return 0;
}
保存为main.cpp
下边是makefile的内容,图简单,没用那些$@之类的,慢慢简化吧
CC="C:/Program Files/Microsoft Visual Studio 8/VC/bin/cl.exe"
LINK="C:/Program Files/Microsoft Visual Studio 8/VC/bin/link.exe"
LIB_PATH= /LIBPATH:"C:/Program Files/Microsoft Visual Studio 8/VC/lib"
LIB_PATH+= /LIBPATH:"C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Lib"
LIB = User32.lib
all:main.exe
main.exe:main.obj
$(LINK) main.obj $(LIB_PATH) $(LIB) /OUT:main.exe
main.obj:main.cpp
$(CC) /c main.cpp
clean:
del *.obj
del main.exe
然后make,搞定
有时会要mspdb80.dll,把这个文件找到,放到path下就行了,不过,我碰到一个问题,在makefile执行时,当前用户的path环境变量好像不行,设置到系统变量里就可以了
link时的/SUBSYSTEM:WINDOWS是指定编译结果的类型,比如是控制台程序还是win32程序,/OUT:my.exe则是指编译的程度结果名