当前位置: 首页 > 知识库问答 >
问题:

为raspberry pi构建Qt库时出错

胥康安
2023-03-14

我试图为我的RPI编译Qt5库,但它总是崩溃。

在遵循其中一个指南之后,我现在陷入了make

这是我收到的错误:

.obj/release-shared/qlibrary_unix.o: In function `QLibraryPrivate::load_sys()':
qlibrary_unix.cpp:(.text+0xf84): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/esa/qtonpi/rpi_image/usr/lib/arm-linux-gnueabihf/libdl.a(dlopen.o): In function `dlopen':
(.text+0xc): undefined reference to `__dlopen'
/home/esa/qtonpi/rpi_image/usr/lib/arm-linux-gnueabihf/libdl.a(dlclose.o): In function `dlclose':
(.text+0x0): undefined reference to `__dlclose'
/home/esa/qtonpi/rpi_image/usr/lib/arm-linux-gnueabihf/libdl.a(dlsym.o): In function `dlsym':
(.text+0xc): undefined reference to `__dlsym'
/home/esa/qtonpi/rpi_image/usr/lib/arm-linux-gnueabihf/libdl.a(dlerror.o): In function `dlerror':
(.text+0x0): undefined reference to `__dlerror'
/home/esa/qtonpi/rpi_image/usr/lib/arm-linux-gnueabihf/libm.a(feholdexcpt.o): In function `feholdexcept':
(.text+0x48): undefined reference to `_dl_hwcap'
/home/esa/qtonpi/rpi_image/usr/lib/arm-linux-gnueabihf/libm.a(fesetenv.o): In function `fesetenv':
(.text+0x64): undefined reference to `_dl_hwcap'
collect2: virhe: ld:n paluuarvo oli 1                                           # collect2: error: ld returnvalue was 1
make[2]: *** [../../lib/libQt5Core.so.5.0.0] Virhe 1                            # Error 1
make[2]: Poistutaan hakemistosta "/home/esa/qtonpi/qt5/qtbase/src/corelib"      # Leaving directory
make[1]: *** [sub-corelib-make_first] Virhe 2                                   # Error 2
make[1]: Poistutaan hakemistosta "/home/esa/qtonpi/qt5/qtbase/src"              # Leaving directory
make: *** [sub-src-make_first] Virhe 2                                          # Error 2

共有1个答案

谭昊乾
2023-03-14

修复sysroot中库的路径。有些库是到绝对路径的符号链接,当放在系统中时,这些路径会被破坏。检查类似/home/esa/qtonpi/rpi_image/usr/lib/arm-linux-gnueabihf/libdl.so或类似的内容。您应该看到这些是到绝对路径的断开符号链接。把这些都修好。在您报告的文档中,提供了一个用于此目的的脚本。您是否运行了它(https://html" target="_blank">gitorious.org/cross-compile-tools/cross-compile-tools/blobs/master/fixqualifiedlibrarypaths)?

如果您仍然遇到麻烦,请尝试检查一下:我从git中为wheezy图像编译了一个最新版本,并写下了一些注释。

 类似资料:
  • 我尝试为Android (*)构建静态库。a)。我的个人档案: 文件无题3.cpp和无题3.h非常简单。当我构建项目时,我得到了唯一的一个库 *.a,但预计所有架构都有四个库:armeabi-v7a arm64-v8a x86 x86_64 当我第一次构建时,编译完成时出错: 在文件夹armeabi-v7a arm64-v8a x86中x86_64只存在*. obj-文件,但不存在. a-文件。我

  • 对于自动构建生成,编写脚本以使用gradle自动生成QT Android构建。 构建步骤在最后一步失败。给出的命令是 C:\Qt\5.10.1\android\u armv7\bin\androiddeployqt。exe——输入C:/Users/user1/Desktop/Sources/Software/build_android/android libTestApp。因此,部署设置。json

  • Qt5是由大量的模块组成的。一个模块通常情况下是一个库,提供给开发者使用。一些模块是强制性用来支持Qt平台的,它们分成一组叫做Qt基础模块。许多模块是可选的,它们分成一组叫做Qt附加模块,预计大多数得到开发人员将不会使用它们,但是最好知道它们可以对一些通用的问题提供非常有价值的解决方案。 1.3.1 Qt模块(Qt Modules) Qt基础模块是对Qt一台的必要支持。它们使用Qt Quick 2

  • 展开: 对于某些模拟器,我在构建项目时会收到以下错误: ld:警告:忽略文件/users/admin/library/developer/xcode/deriveddata/myapp-ekwldvjyuxwkykbareyvvydbtero/build/products/debug-iphonesimulator/libfscalendar.a,为存档生成的文件不是所链接的体系结构(i386):

  • 我做错了什么? 提前感谢,