当前位置: 技术问答>linux和unix
请教一个直接使用libxml2静态库的问题
来源: 互联网 发布时间:2016-10-09
本文导语: 本帖最后由 yayu_myself 于 2010-02-11 23:05:36 编辑 因为写了个程序用到libxml2,要想在别的机子上运行,应该要使用静态库。应该是要完全脱离libxml2的环境,把库完全链接到程序,在没有libxml2的系统中也能用 在网上查链...
在网上查链接主要有三种:Use static libary, static linked DLL, dynamic linked DLL
以Windows环境来说,后两种应该还是需要DLL,所以应该使用第一种。。静态库
那么用GCC要怎么做链接呢,在指定库的时候,确实指定的是libxml2。。可是通过ldd发现还是需要动态库
还有。。同样的Windows下怎么做呢。。用的是VS。。
Windows下libxml2文件夹下有两个.lib文件。。libxml2.lib(300K+)和 libxml2_a.lib(3000K+),貌似后面那个就应该是静态库。。应该怎么做呢。
关键是想知道Linux下的。。呵呵。。谢谢。。
|
gcc -I/usr/local/libxml2/include/libxml2 -L/usr/local/libxml2/lib -lxml2 codeHl.o option.o -o codeHl
晕。。被你的一长串忽悠了 -lxml2要放到最后。否则就会出现未定义的错误
gcc -static -I/usr/local/libxml2/include/libxml2 -L/usr/local/libxml2/lib codeHl.o option.o -o codeHl -lxml2
你试试这个。这个应该是可以了
晕。。被你的一长串忽悠了 -lxml2要放到最后。否则就会出现未定义的错误
gcc -static -I/usr/local/libxml2/include/libxml2 -L/usr/local/libxml2/lib codeHl.o option.o -o codeHl -lxml2
你试试这个。这个应该是可以了