如何在没有IDE的情况下使用Microsoft c++编译器编译c++库
visual How to compile c++ libs using Microsoft C++ compiler without the IDE
我想用记事本从命令提示符调用编译器和链接器。
没有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来运行你的单元测试和自测。
广告。
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 带有 CKKS 的 Microsoft 密封中的矢量点积
- 如何添加预防措施以绕过未注册Microsoft.ACE.OLEDB.12.0?
- 与其他编译器相比,相同的代码在工作室Microsoft提供不同的输出
- 使用 Outlook 2016 Microsoft Store 连接到 Outlook COM
- 如何在 SEAL 3.1 中使用 CRT 批处理技术Microsoft?
- 使用 CMake,Microsoft MPI 和 Visual Studio 2017 找不到 mpi.h
- 如何在视觉c ++项目中添加箭头键作为修饰键Microsoft
- 为什么Microsoft在新代码中使用结构而不是类?
- Microsoft C++ 用于图形 API 的 Rest SDK
- Microsoft ODBC 无法创建有效的句柄
- 在 Microsoft Access SQL 中调用自定义 DLL 函数时传递的内存地址无效
- 使用IMFSourceReader(Microsoft媒体基金会)进行音频流传输
- C++ VS 错误:<实验/文件系统>提供 std::experimental::文件系统的标头已被Microsoft弃用,将被删除
- 寻求提高Microsoft密封库计算效率的方法
- Microsoft Visual Studio 2019交叉编译CMake库 - 有效,但存在SEG错误
- Microsoft NTLM (v2) 中的时间戳使用
- C++正则表达式失败(GCC vs Microsoft 编译器)
- 重塑Microsoft的并发::d iagnostic::span,也可以检测外部跨度
- Microsoft 绕道:缺少宏