编译 C++ 代码时出现此错误:
undefined reference to `__stack_chk_fail'
已经尝试过的选项:
- 编译时添加了 -fno-stack-protector - 不起作用,错误仍然存在
- 在我的代码中添加了 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 个错误。
请问有什么帮助吗?