从g++修改make文件以使用Visual Studio C++
Modify make file from g++ to use Visual Studio C++
我正在尝试使用一个Makefile,它应该在windows环境中运行。(这是SVM火炬)。来源网站告诉"你只需要更改以下行,取决于你的具体平台"(逐字复制)
成为Vis的新手。Studio C++我不确定我应该写什么来代替这段代码中的g++:
# C-compiler
CC=g++
#CC=CC
# C-Compiler flags
CFLAGS=-Wall -W -O9 -funroll-all-loops -finline -ffast-math
#CFLAGS=-native -fast -xO5
# linker
LD=g++
#LD=CC
# linker flags
LFLAGS=-Wall -W -O9 -funroll-all-loops -finline -ffast-math
#LFLAGS=-native -fast -xO5
# libraries LIBS=-lm
我使用的是带有Visual Studio 2010 Professional的Windows 7。
我知道我需要告诉使用哪个编译器,但还没有找到正确的单词来替换g++
FYI:1.我正在键入:nmake -f Makefile
正如在窗口中预期的那样,我得到了以下错误:
"'g++' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'g++' : return code '0x1'
Stop."
- 来源于本网站
此Makefile
不打算与"本机"Windows工具链一起使用。您不能使用nmake
或make
的Windows版本。
你可以通过查看Makefile
看到这一点,我复制了一个片段:
37 clean:
38 rm -f *.o
39 rm -f SVMTorch
40 rm -f SVMTest
41 rm -f convert
rm
不是Windows中的命令,因此即使使用带有常规命令提示符的Windows版本的make
,也会失败。
此外,该代码还包含特定于*nix的代码。例如general.cc
:
33 long getRuntime(void)
34 {
35 struct tms buffer;
36 times(&buffer);
37 return((long)(buffer.tms_utime+buffer.tms_stime));
38 }
据我所知,此类型的struct tms
和函数times()
在Windows上不可用,因此如果使用MSVC编译器(cl
),则不会进行编译。
总而言之,您需要安装类似mingw
的东西,它提供了一个类似Unix的shell和一个GNU编译器套件,以便以常规方式构建它。
然而,Makefile
非常简单,所以我会尝试创建一个MSVC项目,将所有源文件添加到其中,然后看看会发生什么。由于Makefile
包含三个可执行目标,因此您必须创建三个项目(至少)才能实现这一点,但您可以从构建一个可执行文件开始,看看您能走多远。不过,您必须处理特定于*nix的代码段。
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在MS Visual Studio 2019中运行QT UI
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio Code - C++ Debugger 無法啟動
- Visual Studio 2019:插入多个C++风格的单行注释
- Visual Studio Code "undefined reference to `WinMain@16'"
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- Visual Studio中的函数声明和函数定义问题
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Visual Studio mkl_link_tool.exe链接错误
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 不同的Visual Studio版本中缺少.dll
- 用Visual Studio在C++中嵌入Julia
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- Visual Studio在尝试读取resource.txt文件时崩溃
- Visual Studio 2017 不允许我创建 C++ 专用模板