我正在尝试使用以下命令在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选项进行编译。 谁能帮我解决一下呢?
谢谢。