得到這個錯誤在編譯C++代碼:未定義的參考`__stack_chk_fail」
undefined reference to `__stack_chk_fail'
選項已經嘗試過:
- 添加-fno堆棧保護器在編譯時 - 沒有工作,錯誤仍然存在
- 在我的代碼中添加了void __stack_chk_fail(void)的虛擬實現。仍然得到相同的錯誤。
詳細的錯誤:
/u/ac/alanger/gurobi/gurobi400/linux64/lib/libgurobi_c++.a(Env.o)(.text+0x1034): In function `GRBEnv::getPar/u/ac/alanger/gurobi/gurobi400/linux64/lib/libgurobi_c++.a(Env.o)(.text+0x1034): In function `GRBEnv::getParamInfo(GRB_StringParam, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
: undefined reference to `__stack_chk_fail'
amInfo(GRB_StringParam, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
: **undefined reference to `__stack_chk_fail'**
早些時候,我得到10個這樣的錯誤的。發現我使用的預編譯庫的gcc
與我用來編譯代碼的gcc
版本之間存在版本不匹配。更新gcc
,現在我只得到這些錯誤中的2個。
任何幫助,請?
1.我又增加了-fno堆棧保護器早些時候,但沒有幫助。 2.非常感謝,添加-lssp工作。 3.非常感謝!這些信息很有用。我已經忘記了這一點。 – Akhil 2010-12-20 19:06:57
很高興解決了它。在鏈接過程中是否添加了-fno-stack-protector?也許它把-lssp放錯了順序,誰知道...... – gravitron 2010-12-20 19:15:48
雖然編譯時運行程序時出現此錯誤: ./jetAlloc:加載共享庫時出錯:libssp.so.0:無法打開共享目標文件:無此文件或目錄 – Akhil 2010-12-22 00:21:33