我想将一个程序用作另一个程序的共享库。
我开始如下:我有一个我使用编译的应用程序:
/usr/bin/g++ -I/usr/include/libxml2 -Xlinker -zmuldefs -fPIC -c a.cpp
/usr/bin/g++ -I/usr/include/libxml2 -Xlinker -zmuldefs -fPIC -c b.cpp
/usr/bin/g++ -I/usr/include/libxml2 -Xlinker -zmuldefs -fPIC -c c.cpp
然后,我使用以下命令从该文件中获取的对象创建了一个共享对象库:
g++ -fPIC -Xlinker -zmuldefs -shared -o libabc.so a.o b.o c.o
在此之后,我得到了我复制到的 libabc.so 文件
sudo cp libabc.so /usr/local/lib/libabc.so
现在,当我使用以下命令编译将使用这个新创建的库libabc.so的原始应用程序时:
/usr/local/lib/libabd.so: undefined reference to `xmlXPathNewContext'
我从第一个应用程序中包含的库 libxml2 中使用的所有函数都出现错误,并且具有此未定义引用的函数实际上是我包含在第一个程序中的库,我的意思是我已经测试过它。所以请任何人在我需要更正的地方指导我。