由于ubuntu的库链接机制,未定义的引用

时间:2014-11-25 16:10:32

标签: c++ ubuntu

我的数据分析程序(基于C ++)在OpenSUSE上运行良好。但是当我在运行Ubuntu 12.04的笔记本电脑中使用它时。它显示以下错误:

ent$ make
g++ -g -o FBBA FBBA.o  libFBBAnal.so  -L../FBRun libFBRun.so\
    -L/usr/local/root/lib -lRint -L/usr/local/root/lib -lGui -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -m64 -L/usr/local/root/lib -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lGpad -lHist -lGraf -lGraf3d -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lRIO -lNet -lThread -lCore -lCint -pthread -lm -ldl -rdynamic  -lTMVA -lMinuit -lXMLIO -lMLP -lTreePlayer -L/usr/lib64/ -lstdc++
libFBBAnal.so: undefined reference to `TCanvas::TCanvas(char const*, char const*, int, int, int, int)'
collect2: ld returned 1 exit status
make: *** [FBBA] Error 1er code here

我对互联网的研究表明,这可以通过改变命令行中的库顺序(模块之前)来解决。但是我有一个Makefile,其中显示了所有这些命令。我不擅长编码。请帮助!

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,这是Ubuntu的库连接问题,正如预期的那样。我不得不手动将库放在出现错误的行的末尾。 !