在制作共享对象时

时间:2017-06-11 12:16:14

标签: linux g++ shared-libraries

我正在尝试使用以下命令在Ubuntu 14.04上构建一个c ++共享库:

  

g ++ -fPIC -shared -Wl,-soname,libPTAM.so.1 -o libPTAM.so.1.0.1   GLWindow2.o GLWindowMenu.o VideoSource_Linux_DV.o System.o   ATANCamera.o KeyFrame.o MapPoint.o Map.o SmallBlurryImage.o   ShiTomasi.o HomographyInit.o MapMaker.o Bundle.o PatchFinder.o   Relocaliser.o MiniPatch.o MapViewer.o ARDriver.o EyeGame.o Tracker.o   -L MY_CUSTOM_LINK_PATH -lGVars3 -lcvd -lGL -llapack -lc

但是遇到以下错误:

  

/ usr / bin / ld:GLWindow2.o:重定位R_X86_64_32   制作共享对象时不能使用`_ZN6GVars33GUIE';   用-fPIC重新编译
  GLWindow2.o:错误添加符号:错误值
  collect2:错误:ld返回1退出状态
Makefile:73:recipe for   目标'libPTAM'失败make:*** [libPTAM]错误1

如上面的命令所示,我使用-fPIC选项进行编译。 谁能帮我解决一下呢?

谢谢。

0 个答案:

没有答案