我正在使用以下命令:
在Debian 9上编译C++程序,但是我收到以下错误信息:
g++ --std=c++11 -fPIC -Iincludes parser.cpp lib/main-parser.o lib/lib.a
在Debian 9上编译C++程序,但是我收到以下错误信息:
/usr/bin/ld: lib/lib.a(csdocument.o): relocation R_X86_64_32 against '.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
然而,我尝试添加了-fPIC
参数,但奇怪的是它给出了相同的错误消息,还有"重新编译使用-fPIC"
任何想法都将不胜感激。我已经尝试在我的大学的RedHat系统上进行编译,那里可以正常工作。我认为可能缺少某些依赖项,但我一直找不到答案。
提前致谢
-fPIC
,那可能会解释这个错误... - Daniel Trugman-fPIC
的情况下也收到了相同的错误信息。 - Polymerg++ --std=c++11 -fPIC -Iincludes -o jparser parser.cpp lib/main-parser.o lib/lib.a
是整个输入。我目前正在尝试在Debian 8全新安装上运行相同的代码(谁知道呢)。 - Polymer