我有一个应用程序无法链接,出现错误:
/usr/lib64/libcroco-0.6.so.3: undefined reference to `xmlGetProp@LIBXML2_2.4.30'
/usr/lib64/libcroco-0.6.so.3: undefined reference to `xmlFree@LIBXML2_2.4.30'
/usr/lib64/libcroco-0.6.so.3: undefined reference to `xmlHasProp@LIBXML2_2.4.30'
我已经安装了 libxml:
libxml++.x86_64 2.33.2-1.fc15 @koji-override- 0/$releasever
libxml++-devel.x86_64 2.33.2-1.fc15 @fedora
libxml2.i686 2.7.8-6.fc15 @fedora
libxml2.x86_64 2.7.8-6.fc15 @koji-override-0/$releasever
libxml2-devel.x86_64 2.7.8-6.fc15 @fedora
libxml2-python.x86_64 2.7.8-6.fc15 @koji-override-0/$releasever
有任何想法吗?也许 libcroco 是用旧版本编译的,我需要安装旧版本的 libxml?
答案1
我唯一能想到的是 .so 文件不在链接器查找库的目录中。您能找出该文件所在的位置libxml2.so
,然后将该目录放在链接命令行上吗-L
?
答案2
尽管是一个版本化符号,但据我所知,它似乎仍然是 2.7.8 中当前可链接的符号版本。
我想你-lxml2
的链接线上确实有吗?如果您依靠链接来libcroco
拉取它,那么这在最近的 Fedora 版本上不起作用,您将需要直接链接它。