如何在没有IDE的情况下使用Microsoft C ++编译器编译c ++库

时间:2011-07-09 21:49:49

标签: c++ visual-c++

我想使用记事本并从命令提示符调用编译器和链接器 没有IDE没有make,nmake或类似的东西,因为我想知道执行以下操作所需的确切语法:

1.创建静态库
2.创建一个dll

是的,我浏览过MSDN网站,但我看到的例子假设有一个人正在使用IDE,它在幕后做了很多设置。 请注意:我知道如何使用cl编译可执行文件也使用vcvarsall.bat设置env。我的问题是关于编译静态库和dll。

我正在使用Microsoft(R)32位C / C ++优化编译器版本15.00.30729.01 for 80x86。
关于使用其他编译器(gcc,mingw,intel等)的建议目前没有帮助。

4 个答案:

答案 0 :(得分:3)

C ++编译器命名为 cl 。编译器选项为well-documented on MSDN。链接器名为链接。链接器选项也是well-documented on MSDN

您需要运行 vcvarsall.bat 才能使用Visual C ++工具链进行构建;此批处理文件设置所有必需的环境变量等。如果已安装Visual Studio,则应在“开始”菜单上使用名为“Visual Studio命令提示符”的快捷方式。此快捷方式将为您提供命令提示符并运行该批处理文件。

答案 1 :(得分:1)

对于DLL,将/c标记传递给cl.exe(编译但不链接),并将/DLL标记传递给link.exe。它不是制作可执行文件,而是制作DLL。

对于静态库,use the lib.exe program

答案 2 :(得分:0)

有多种方法,所有方法都在一个地方轻松记录:

Visual C++ Concepts: Building a C/C++ Program
Building on the Command Line

请注意,构建系统在VC ++ 2008(您正在使用)和VC ++ 2010(当前版本)之间完全更改。

答案 3 :(得分:0)

要添加的几件小事。

我个人不会使用Windows批处理文件。 我会在visual studio之外使用nmake http://msdn.microsoft.com/en-us/library/dd9y37ha(v=vs.71).aspx构建nmake的日常工作,这是在构建机器上而不是在开发环境中构建可视化工作室项目的标准方法。

nmake有利的另一件事是,如果跨平台对你很重要,那么cmake(http://www.cmake.org/)是动态创建Windows nmake文件和非Windows make文件的绝佳工具,它带有ctest for运行您的单元测试和自我测试。

广告结束。