0

我有一個相當大的c/C++ CGI項目,它引用了幾個外部庫(OpenSSL,FastCGI,Boost等)。我證實,每個單獨的庫都是用/ MT像我們的主要可執行項目一樣構建的。然而,包括某些頭時(例如,對FastCGI報頭),我得到數百鏈接錯誤的喜歡這些:解決運行時庫衝突的好方法是什麼?

錯誤226錯誤LNK1169:一個或一個以上乘法定義的符號發現

錯誤121錯誤LNK2005 :已在libfcgi.lib中定義:「protected:__thiscall std :: basic_ios> :: basic_ios>(void)」(?? 0?$ basic_ios @ DU?$ char_traits @ D @ std @@@ std @@ IAE @ XZ) (libfcgi.dll)libcpmt.lib(cout.obj)

錯誤208錯誤LNK2005:「protected:__thiscall std :: basic_ios> basic_ios>(void)」(?? 0?$ basic_ios @ DU?$ char_traits @ D @ std @@@ std @@ IAE @ XZ)已經在libfcgi.lib(libfcgi.dll)中定義了* CI大號庫 CIL模塊*)

我在libfcgi看了一次驗證/ MT和重新編譯無濟於事。我不知所措......這些圖書館衝突是從哪裏來的?什麼是解決這些鏈接器錯誤的好方法? (Visual Studio 2012)

回答

0

將FastCGI編譯爲靜態庫解決了此問題。