我正在尝试编译ANN。我使用以下命令进行编译,
make linux-g ++
稍后,当我尝试在其他代码中使用此代码时,该代码未编译。我收到以下错误消息,
> relocation R_X86_64_PC32 against symbol `_ZSt4cerr@@GLIBCXX_3.4' can
> not be used when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Bad value
经历了各种问题之后,我尝试将以下行添加到CMAKE,
set_target_properties(${LIBRARY_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
但仍然无法使用。我该如何解决?
答案 0 :(得分:2)
我不确定这是否是正确的解决方案,但作为解决方法,您可以替换行
"C++ = g++"
使用
"C++ = g++ -fPIC"
在文件Make-config
中,然后重新编译。