我在 virtualbox 上使用 ubuntu(32 位)。我正在尝试添加 rtlsdr 库,但 Qt 创建者找不到 rtlsdr 库。 该库位于/usr/local/lib/librtlsdr.so 中,我尝试将以下内容添加到我的 .pro 文件中
LIBS += -L/usr/local/lib -lrtlsdr
INCLUDEPATH +=usr/local/lib
但我收到以下错误:
/home/luis/qt-bbb/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link=/home/luis/qt-bbb/tslib/lib -Wl,-rpath,/opt/qt-arm/lib -o qt-test main.o mainwindow.o moc_mainwindow.o -L/home/luis/qt-bbb/tslib/lib -L/opt/qt-arm/lib -L/home/luis/qt-arm/rtl-sdr/build/src/ -lrtlsdr -lQtGui -L/opt/qt-arm/lib -L/home/luis/qt-bbb/tslib/lib -lQtNetwork -lQtCore -lpthread
/home/luis/qt-bbb/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: *skipping incompatible /home/luis/qt-arm/rtl-sdr/build/src//librtlsdr.so when searching for -lrtlsdr*
/home/luis/qt-bbb/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: *skipping incompatible /home/luis/qt-arm/rtl-sdr/build/src//librtlsdr.a when searching for -lrtlsdr*
Makefile:105: recipe for target 'qt-test' failed
/home/luis/qt-bbb/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lrtlsdr
collect2: error: ld returned 1 exit status
make: *** [qt-test] Error 1
我正在使用 ubuntu 32 位为运行 debian 的 beaglebone 进行交叉编译。在我的 beaglebone 上部署工作正常,我验证了这些库是 32 位的,所以我不知道为什么它找不到它们,也不知道为什么它给我“跳过不兼容”的消息。我还尝试通过右键单击 .pro->add 库来添加它们,但仍然找不到它们。
最佳答案
跳过不兼容
告诉您无法链接该库。可能是用错误的编译器编译的?
– 塞巴斯蒂安·兰格
好吧,我找到了我的问题,该库是为 x86 而不是 ARM 构建的。感谢您的提示! – 路易斯贝德
关于c++ - Qt Creator 找不到库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27370804/