如何在命令行中编译和链接项目?
Posted
技术标签:
【中文标题】如何在命令行中编译和链接项目?【英文标题】:how to compile and link project in command line? 【发布时间】:2016-11-04 10:11:14 【问题描述】:使用Visual Studio,我写了一个C++程序MyCat
,所以它可以在VS IDE中编译生成一个MyCat.DLL文件。
另外,我可以在命令行中构建它,利用解决方案文件MyCat.sln
:
set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
set VisualStudioVersion = 12.0
path=C:\Windows\Microsoft.NET\Framework\v4.0.30319\;%path%
msbuild.exe MyCat.sln /p:Configuration=Debug /clp:Summary /nologo /fileLoggerParameters:LogFile=MyCat.Debug.log;Verbosity=normal;Encoding=UTF-8
但是,不使用解决方案文件(.sln)或vc项目文件(MyCat.vcxproj
)怎么办?
我知道C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
下有一个编译器cl.exe
,可以编译.h
和.cpp
文件。
但是链接器在哪里以及如何生成目标.DLL
或.EXE
文件?
【问题讨论】:
链接器名为link
,还有一个名为lib
的图书管理员工具。安装的vc
子文件夹有一些批处理文件来为工具设置适当的环境变量。
好的,但是如何在命令行中执行,给定一个 .sln 和一些 .vcxproj 文件?
msdn.microsoft.com/en-us/library/527z7zfs.aspx
如果您担心命令行选项和/或参数,您应该知道配置参数包含一个“命令行”菜单项,其中所有选项/参数都是可见的。
【参考方案1】:
我无法添加评论,所以我将其添加为答案。
如果您搜索过这个网站,您会发现: How to build a DLL from the command line in Windows using MSVC
效果很好。
编辑:查看 Ebow Halm 的答案,然后投票给他 :)
【讨论】:
以上是关于如何在命令行中编译和链接项目?的主要内容,如果未能解决你的问题,请参考以下文章
Android NDK编译如何强制使用libc++.a的静态链接库
在命令行中使用 maven 编译整个项目后如何运行单个类? [复制]