由于重新定位错误,编译失败



我正在尝试编译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)

但是,它仍然不起作用。 我该如何解决这个问题?

我不确定这是否是一个合适的解决方案,但作为一种解决方法,您可以替换该行

"C++ = g++"

"C++ = g++ -fPIC"

Make-config,然后重新编译。

最新更新