簡體   English   中英

解決運行時庫沖突的好方法是什么?

[英]What's a good way to resolve Runtime library conflicts?

我有一個相當大的c / c ++ CGI項目,它引用了幾個外部庫(OpenSSL,FastCGI,Boost等)。 我驗證了每個庫都是使用/ MT構建的,就像我們的主要可執行項目一樣。 但是,當包含某些標頭(例如FastCGI標頭)時,我收到數百個鏈接器錯誤,如下所示:

錯誤226錯誤LNK1169:找到一個或多個乘法定義的符號

錯誤121錯誤LNK2005:已定義“受保護:__ thiscall std :: basic_ios> :: basic_ios>(void)”(?? 0?$ basic_ios @ DU?$ char_traits @ D @ std @@@ std @@ IAE @ XZ)在libfcgi.lib(libfcgi.dll)中libcpmt.lib(cout.obj)

錯誤208錯誤LNK2005:已定義“受保護:__thiscall std :: basic_ios> :: basic_ios>(void)”(?? 0?$ basic_ios @ DU?$ char_traits @ D @ std @@@ std @@ IAE @ XZ)在libfcgi.lib(libfcgi.dll)中* CIL庫 CIL模塊*)

我再次查看了libfcgi並驗證了/ MT並重新編譯無濟於事。 我不知所措...這些庫沖突來自何處? 解決此類鏈接器錯誤的好方法是什么? (Visual Studio 2012)

將FastCGI編譯為靜態庫可解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM