得到这个错误在编译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