返回列表 发帖

[编译] QTE自带examples/desktop/screenshot编译报错

本帖最后由 p@ssion 于 2010-4-30 09:04 编辑
/usr/local/arm/qt-embedded-linux-opensource-src-4.5.3-arm/lib/libQtCore.so: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make[3]: *** [screenshot] 错误 1


因为要在librt中实现这个库,所以在编译库选项加上-lrt参数即可
sudo gedit examples/desktop/screenshot/Makefile

LIBS          = $(SUBLIBS)  -L/usr/local/arm/qt-embedded-linux-opensource-src-4.5.3-arm/lib -lQtGui -L/usr/local/arm/qt-embedded-linux-opensource-src-4.5.3-arm/lib -lQtNetwork -lQtCore -lm -ldl -lpthread -lrt


在LIBS后加-lrt参数将通过编译,类似关于undefined reference to `clock_gettime'的错误都可用此方法解决
少说废话,多做实事~

额。。编译过程发现有太多的Makefile里面缺少-lrt参数了。。。开始还很有耐心的改了5,6个,后来一搜我的乖乖有200多个Makefile都没有这个参数,那我不可能一个个的改吧。。恩 写个脚本,
到examples目录下运行
sudo find ./ -name Makefile -exec sed -r -i 's/(-lpthread)/\1 -lrt /g' {} \;

就是查找当前目录和子目录下的所有Makefile并在这些文件中查找-lpthread字符串,在后面加上 -lrt
少说废话,多做实事~

TOP

返回列表