我在Windows 7/Visual Studio 2010中構建項目時遇到了困難,並且已經花費了比我承認使用Google搜索和修復其他錯誤以達到此點的時間更長,但令人沮喪的是,我無法看到擺脫最後一個錯誤。存在與在math.h中定義的函數_hypot接頭錯誤:libgsl和wxwidget問題
wxTheAppInitializer」(?wxTheAppInitializer @@ 3VwxAppInitializer @@ A) 在main.obj 1> libgsl.a(linalg_svd.o已經定義):錯誤LNK2019: 解析的外部符號在功能_hypot引用 _gsl_linalg_SV_decomp 1> libgsl.a(matrix_oper.o):錯誤LNK 2001:解析外部符號_hypot 1> libgsl.a(linalg_householder.o): 錯誤LNK2001:解析外部符號_hypot
:致命錯誤LNK1120:1個未解決的外部事件
當我跟隨的unresolved external symbol "_hypot" when using static library的意見,我得到如下:
1>生成代碼... 1> main.obj:錯誤LNK2005:_hypot已經 在About.obj 1>致命錯誤定義LNK1169:一個或多個乘法 定義符號找到
誰能解釋這是怎麼回事?
我意識到,如果我乾脆註釋掉math.h中_hypot,並在我的主重新實現它。 CC爲: 的#include 的extern 「C」 { \t雙hypot將(雙_X,雙_Y) \t { \t \t return _hypot(_X,_Y); \t} } 然後我可以建立沒有錯誤。我認爲這是原來的帖子所得到的。但它似乎是一個非常骯髒的修復。任何人都可以提出一個更清潔的修復程序,而無需永久編輯math.h –
LPlates
2012-04-10 10:20:54