编译Qt-base: error: libQt5Core.so.5:无版本信息
Compiling Qt-base: error: libQt5Core.so.5: no version information available
我是从源代码qt-base编译的。我构建了其中一个测试(tst_qdom),在执行时得到了一个错误。这是ldd:
的结果测试/汽车/xml dom ldd/qdom tst_qdom
**tests/auto/xml/dom/qdom/tst_qdom: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: no version information available (required by tests/auto/xml/dom/qdom/tst_qdom)
tests/auto/xml/dom/qdom/tst_qdom: /usr/lib/x86_64-linux-gnu/libQt5Test.so.5: no version information available (required by tests/auto/xml/dom/qdom/tst_qdom)
tests/auto/xml/dom/qdom/tst_qdom: /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5: no version information available (required by tests/auto/xml/dom/qdom/tst_qdom)**
linux-vdso.so.1 => (0x00007ffe5775f000)
libQt5Xml.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5 (0x00007f855e131000)
libQt5Test.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Test.so.5 (0x00007f855df08000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f855d862000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f855d55e000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f855d348000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f855cf83000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f855cd65000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f855cb4c000)
libicui18n.so.52 => /usr/lib/x86_64-linux-gnu/libicui18n.so.52 (0x00007f855c745000)
libicuuc.so.52 => /usr/lib/x86_64-linux-gnu/libicuuc.so.52 (0x00007f855c3cc000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f855c1c8000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f855bec0000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f855bcb8000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f855b9b2000)
/lib64/ld-linux-x86-64.so.2 (0x00007f855e36d000)
libicudata.so.52 => /usr/lib/x86_64-linux-gnu/libicudata.so.52 (0x00007f855a145000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f8559f07000)
有人知道如何解决这个问题吗?谷歌对我来说没什么用。
<标题>编辑:tst_qdom的编译命令:
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/pe/qtbase/tests/auto/xml/dom/qdom"' -I. -I../../../../../include -I../../../../../include/QtXml -I../../../../../include/QtTest -I../../../../../include/QtCore -I.moc -I../../../../../mkspecs/linux-g++ -o .obj/tst_qdom.o tst_qdom.cpp
g++ -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -Wl,-rpath,/usr/local/Qt-5.7.0/lib -o tst_qdom .obj/tst_qdom.o -L/home/pe/qtbase/lib -lQt5Xml -lQt5Test -lQt5Core -lpthread
标题>您可以将此永久编辑~/。Bashrc并包括以下行
export LD_LIBRARY_PATH='/home/pe/qtbase/lib':$LD_LIBRARY_PATH;
或者在
中做同样的事情/etc/bash。Bashrc和这将是永久的所有用户!
根据下面的示例对bashrc
进行一些更改
export LD_LIBRARY_PATH=/path/to/QT/gcc_64/lib/:$LD_LIBRARY_PATH
感谢@Marco,我找到了解决方案。他说要将LD_LIBRARY_PATH设置为/usr/local/qt -5.7.0/lib但是,当我将LD_LIBRARY_PATH设置为/home/pe/qtbase/lib/(我正在编译的版本的lib目录)并导出变量:
时,问题就解决了。LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pe/qtbase/lib; export LD_LIBRARY_PATH
希望这对将来的人有所帮助,再次感谢Marco。
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 导入库可以跨dll版本工作吗
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何设置一个范围来提取我想要获得的信息
- /lib/libstdc++.so.6:没有可用的版本信息
- 如何将 git 版本信息添加到 cython 构建的 .so 文件中?
- Qt 和 Windows 可执行版本信息
- 版本信息表 通过更新资源更改 pe 文件
- 无法读取代码页不匹配的文件版本信息
- 可视化设置多个C++DLL的版本信息
- 在C++中设置产品ID版本、公司和其他应用程序信息
- 使用makefile生成版本信息
- 编译Qt-base: error: libQt5Core.so.5:无版本信息
- 共享库:无版本信息
- 替换版本信息资源
- 将版本信息放入环境变量中以包含第三方库的路径是否合适?
- 如何在链接存档文件时将库版本信息添加到elf文件中,所有存档文件都有其版本信息