我将向您展示如下步骤....
首先下载GNUWIN32。
然后在 Windows 7 上安装并设置环境路径。
我将制作a.C源文件如下所示
#include <stdio.h>
int main()
{
//FileName: a.C
printf("Hello World !!! Its works");
return 0;
}
我会制作Makefile。如下图
#MakeFile Source Code... FileName: Makefile
OBJS: a
#add path visual c/c++ compiler
PATH=C:/Program Files\ (x86)\Microsoft\ Visual\ Studio\ 9.0/VC
CC: $(PATH)/bin/cl.exe
all: a
a:
$(CC) -c a.C
clean:
rm -rf $(OBJS)
我编译源代码。它出错了。
Input: C:\Users\*****\Desktop\Test>make
output:
cc -c a.C
process_begin: CreateProcess(NULL, cc -c a.C, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [a] Error 2
请让我帮忙,如何使用 Visual C++ 编译器构建此代码。
PATH
是 Makefile 中变量的错误名称,因为它也是列出在查找其他程序时要搜索的路径的变量名称。 换成别的东西。
您的 makefile 中存在语义错误。您将 CC 定义为目标,而不是变量。修复它:
CC=$(PATH)/bin/cl.exe
线索就在错误消息中
process_begin: CreateProcess(NULL, cc -c a.C, ...) failed.
。您可以看到它正在尝试执行 cc
而不是 cl.exe
如果您查看 μSoft 提供的
vcvars32.bat
来设置编译器环境,您将看到它将 several 文件夹添加到您的 %PATH%
环境变量中。
如果你愿意的话,你可以在
make中表达这个
%PATH%
minging。类似的东西
export PATH := /cygdrive/c/Program Files/Microsoft Visual Studio 9.0/Common7/IDE:/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/VC/BIN:/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/Common7/Tools:/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/VC/VCPackages:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v6.0A/bin:${PATH}:/cygdrive/C/PROGRA~1/MICROS~2.0/VC/redist/DEBUG_~1/x86/MICROS~1.DEB
是的,这就是 make 语法。它使用前缀和后缀增强任何现有的
%PATH%
(看到中间的 ${PATH}
了吗?)。
请注意,这是为 cygwin make 准备的格式。您可能需要一些调整。哦,不要忘记
cl.exe
也需要对 %INCLUDE%
、%LIB%
和 %LIBPATH%
进行适当的设置。