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

visual How to compile c++ libs using Microsoft C++ compiler without the IDE

本文关键字:c++ Microsoft 编译器 编译 情况下 IDE      更新时间:2023-10-16

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

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

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

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

c++编译器命名为cl。编译器选项在MSDN上有详细的文档说明。链接器命名为link。链接器选项在MSDN上也有很好的文档。

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

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

对于静态库,使用lib.exe程序

有多种方法,它们都很方便地记录在一个地方:

Visual c++概念:构建C/c++程序
在命令行上构建

请注意,构建系统在vc++ 2008(你正在使用的)和vc++ 2010(当前版本)之间完全改变了。

需要添加的一些小东西

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

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

广告。