您的位置:首页 > 其它

使用libtool碰到的问题

2013-08-08 16:19 106 查看
使用libtool碰到2个奇怪的问题,还没解决。

1 编译lib的时候,在configure下找到-lmpg123在/usr/local/lib下,但是libtool最后链接的时候对-lmpg123选项展开成了-L/usr/loca/lib/libmpg123.so, 又去掉了路径,变成/libmpg123.so, 然后编译不通过。现在解决的方法就是手动修改Makefile,把-lmpg123改成-L/usr/loca/lib/libmpg123.so。算是骗过去了,原因追了一下libtool,没能找到。

2 编译bin的时候,虽然在项目目录的Makefile.am下设了SUBDIRS=src,但是编译时在src/下编出了BIN文件后,在项目目录下libtool又link了一次,然后报找不到main,因为项目目录的Makefile.am里xx_SOURCES = 没设,现在直接忽视了这个问题。

调试的心得:

1 libtoolize执行后,会在项目目录下产生一个libtool的shell脚本,最后libtool就是执行这个脚本

2 libtool 编译完*.o后会执行 /bin/sh ./libtool --tag=CC --mode=link gcc -g -O2 -o love -lvorbisfile -lmodplug -lphysfs -lfreetype -lIL -llua -lopenal -lGL -lSDL -lm -L/usr/local/lib/libmpg123.so ; 然后libool的shell脚本去解析这个命令。

3 可用/bin/sh -x 。/libtool 跟踪shell脚本,或者用bashdb来调试,虽然bashdb似乎很慢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: