我想从命令行编译file.obj
。在IDE中,如果我正在查看file.cpp
,我可以点击Build - >编译(或只需按Ctrl-F7),它将只编译file.obj对象。我希望能够从命令行执行此操作。理想情况下,类似于:
vcbuild project.vcproj Debug file.obj // not a valid command
我查看了vcbuild
,msbuild
和devenv
的文档。我也尝试了所有这三个,但我找不到办法做到这一点。我可以找到一种方法来构建整个项目,但这不是我想要的。我想构建一个特定的源文件。 /pass1
告诉vcbuild只编译(而不是链接),但它编译整个项目。
我也看过使用cl
,但那只是编译器。为了使用它,我必须知道要正确设置环境的所有正确参数。所有这些都是使用msbuild / vcbuild自动处理的。
使用Makefiles,我总是可以make file.obj
,它可以正确设置路径,包括dirs等。
这有什么选择吗?是否有自动方式从.vcproj
文件中提取相应的设置,并将其传递给cl
?
答案 0 :(得分:0)
使用cl是从命令行编译单个文件的方法。就像你说的那样,它需要/允许你准确指定你想要使用的选项。所有选项!
如果您实际上不想这样做,为什么不使用IDE自动完成它?如果你不喜欢它,为什么这是最困难的方式呢?
答案 1 :(得分:0)
如果您只想编译项目,请运行 visual studio命令行并调用 msbuild 。
示例:
MSBuild.exe MyProj.proj /property:Configuration=Debug
这将从当前目录编译MyProj项目。
有关msbuild的更多信息 http://msdn.microsoft.com/en-us/library/dd393574.aspx
或者,如果您需要构建单个文件,则可以使用 cl ,如上所述。如果您进入项目的属性,您可以看到visual studio传递给 cl 的所有参数。通常在:
配置属性 - > C / C ++ - >命令行
和链接:
配置属性 - >链接器 - >命令行