Linux下QT error:DSO missing from command line解决方法

错误代码:

 /../../../libenvcon.a(xnlini.o):undefined reference to symbol 'XMLElement'

/../../libexpat.so.1:error adding symbol:DSO missing from command line

Collect2:error:ld returned 1 exit status

 

libexpat.so.1存在,QT添加库时却找不到,添加库时显示的都是.so文件

错误原因:libexpat库文件没有连接文件。

解决方法:解决方法:在libexpat.so.1的路径下,手动(将实际文件名)生成一个连接文件    # ln -s linexpat.so.1.6.0 libexpat.so

 

1  共享库的实际文件名(real name)

一个共享库文件,lib + math + .so + 主版本号 + 小版本号 + 制作号                如:libmath.so.1.1.1234

 

2  共享库的简短文件名(Short for shared object name)

它是可执行程序加载它时,要寻找的文件名

  lib + math + .so + 主版本号   如:libmath.so.1

 

3共享库的链接文件名(Link name)

是专门为可执行程序生成阶段链接共享库时用的名字,不带任何版本信息。

Lib  +matn + .so  如:libmath.so

注:大多数lib库名.so只是一个链接

 

 

你可能感兴趣的:(Linux下QT error:DSO missing from command line解决方法)