![](/img/trans.png)
[英]How to add pthread library to C++ project in Visual Studio Community Edition?
[英]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 Library
將Release
配置更改為Multi-threaded (/MT)
,將Debug
配置Multi-threaded Debug (/MTd)
為Multi-threaded Debug (/MTd)
。
另外,還要將“ Configuration Properties - General - General - Target extension
設置為.lib
。
檢查所有配置的設置(如果使用它們,請Release
和Debug
)。
為什么更改項目類型? 如果需要DLL,請構建DLL。 發布在DLL編譯期間收到的確切錯誤。 也許您錯過了一些dllexport
/ dllimport
declspecs。
關於.lib
:您確定在構建期間生成了DLL嗎? 也許這是以前(DLL)配置的輸出? 您是否嘗試使用此.lib
編譯測試應用程序? 也許它是有效的並且經過正確編譯?
另一件事:項目類型更改后,是否從函數簽名中刪除了所有dclspecs? 在構建靜態庫時,它們都不適用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.