wsdlpull:g++链接错误

wsdlpull: linking error with g++

本文关键字:错误 链接 g++ wsdlpull      更新时间:2023-10-16

我是用g++编程c++的新手,在使wsdlpull-library工作方面遇到了很大的问题。版本为1.24。

我从http://wsdlpull.sourceforge.net/.:

./configure --prefix=/home/jesse/Dropbox/Programmering/C++/test --disable-opt --enable-examples
make
make install

然后,我将示例中的print.cpp文件复制到"prefix"-目录中。下一步是"在包含路径中添加$(prefix)/include,并将$(prefix)/libs-lwsdl -lschema -lxmlpull添加到LDFLAGS"。第一个问题是没有文件夹"libs"而是"lib",include文件夹中有另一个名为wsdlpull的文件夹。因此,我输入了以下命令:

g++ -I include/wsdlpull -L lib -lwsdl -lschema -lxmlpull -o print print.cpp

这导致了以下错误:

/usr/bin/ld:找不到-lwsdl
/usr/bin/ld:找不到-lschema
/usr/bin/ld:找不到-lxmlpull
collect2:错误:ld返回1退出状态

我不知道这意味着什么,为什么当我指向"lib"时,它会出现在/usr/bin/ld中?

使用-L lib时,意味着lib目录在执行makepwd中可用。检查您是否说过lib真的可用。

为了使事情变得简单,您可以给出lib文件夹的绝对路径。即CCD_ 14。这将有助于make在没有任何混淆的情况下看到lib

接下来,您可能需要明确指定libwsdl是静态库还是共享库。尽管这是可选的。

或者,最好的解决方案是将库放置在系统库的位置,即/lib or /usr/lib or /use/local/lib,并运行ldconfig,以便链接器/加载程序知道新添加的库存在的位置。在这种情况下,您可以简单地发出-lwsdl,而不指定-L标志。

有关更多信息,请参阅ldconfig。

相关文章: