0

我在使用 ninja-build 在 GNU/Linux Ubuntu 16.04 下构建项目时遇到了问题。与 OpenDDS 3.9 链接时,更准确地说是与 libACE.a 链接时,我收到此错误:

/usr/bin/ld: ../../thirdparty/OpenDDS/ACE_wrappers/lib/libACE.a(Base_Thread_Adapter.o): relocation R_X86_64_32 against `_ZTV23ACE_Base_Thread_Adapter' can not be used when making a shared object; recompile with -fPIC
../../thirdparty/OpenDDS/ACE_wrappers/lib/libACE.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

我已将 OpenDDS(和 ACE)构建为静态库。我使用以下命令行来配置和构建 OpenDDS :

./configure --no-debug --static --verbose
sudo bash ./setenv.sh
make

它告诉使用 -fPIC 参数重新编译,我没有成功找到使用此选项重新构建 OpenDDS 和 ACE 的方法,我该怎么做?

谢谢 !

4

0 回答 0