繁体   English   中英

是否可以使用Visual Studio 2013 Community Edition创建静态库C ++?

[英]Is it possible to create a static library C++ with Visual Studio 2013 Community Edition?

我有一个C / C ++ Visual Studio 2013社区版项目,该项目被定义为生成DLL,并且我想在另一个项目中使用“未定义符号”时感到非常痛苦,所以我决定看看它是什么如果更改项目设置,它将给出一个静态库。

因此,在项目的“属性”窗口中,我转到了

配置属性>常规>项目默认值>配置类型

并将“配置类型”设置为“ 静态库 ”。目标扩展名为.lib

进行重建时,我仍在我的Release文件夹中获得一个新的dll文件以及一个lib,并且DLL文件比lib文件大得多。 这使lib文件看起来像“导出lib”文件,并且看起来没有任何变化。 如果我停止并重新启动Visual Studio,仍然会发生这种情况。

我是否缺少某些东西,或者这看起来像是对您的错误?

在“ Configuration Properties - C/C++ - Runtime LibraryRelease配置更改为Multi-threaded (/MT) ,将Debug配置Multi-threaded Debug (/MTd)Multi-threaded Debug (/MTd)

设置屏幕截图

另外,还要将“ Configuration Properties - General - General - Target extension设置为.lib

检查所有配置的设置(如果使用它们,请ReleaseDebug )。

为什么更改项目类型? 如果需要DLL,请构建DLL。 发布在DLL编译期间收到的确切错误。 也许您错过了一些dllexport / dllimport declspecs。

关于.lib :您确定在构建期间生成了DLL吗? 也许这是以前(DLL)配置的输出? 您是否尝试使用此.lib编译测试应用程序? 也许它是有效的并且经过正确编译?

另一件事:项目类型更改后,是否从函数签名中删除了所有dclspecs? 在构建静态库时,它们都不适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM