Qt6交叉编译
我交叉编译qt6的时候遇到了问题
这个问题只在我cmake明确指定编译路径的时候出
我如果不明确指明,使用如下指令可以正常编译
cmake /home/user/qt/qt6HostBuild/ -GNinja -DCMAKE_BUILD_TYPE=Release -DINPUT_opengl=es2 \
-DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF -DQT_HOST_PATH=$HOME/qt/qt6.2.4 -DCMAKE_STAGING_PREFIX=$HOME/sysroot/opt/prefix \
-DCMAKE_INSTALL_PREFIX=$HOME/sysroot/opt/prefix -DCMAKE_TOOLCHAIN_FILE=/home/user/qt/qt6-cross/cmake_toolchain.cmake \
-DQT_QMAKE_TARGET_MKSPEC=devices/linux-rasp-pi4-v3d-g++ -DQT_FEATURE_xcb=ON -DFEATURE_xcb_xlib=ON \
-DQT_FEATURE_xlib=ON -DFEATURE_qtwebengine_build=OFF
它的问题是 最后的生成路径在qt6HostBuild中,这是我的源码路径,我想让编译路径和源码路径分开,此时如果指定编译路径,使用如下指令
cmake -S /home/user/qt/qt6HostBuild/ -B /home/user/qt/qt6-cross/ -GNinja -DCMAKE_BUILD_TYPE=Release -DINPUT_opengl=es2 \
-DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF -DQT_HOST_PATH=$HOME/qt/qt6.2.4 -DCMAKE_STAGING_PREFIX=$HOME/sysroot/opt/prefix \
-DCMAKE_INSTALL_PREFIX=$HOME/sysroot/opt/prefix -DCMAKE_TOOLCHAIN_FILE=/home/user/qt/qt6-cross/cmake_toolchain.cmake \
-DQT_QMAKE_TARGET_MKSPEC=devices/linux-rasp-pi4-v3d-g++ -DQT_FEATURE_xcb=ON -DFEATURE_xcb_xlib=ON \
-DQT_FEATURE_xlib=ON -DFEATURE_qtwebengine_build=OFF
则会报一开始的错误,找不到 -ldbus-1
我做的尝试
1、libdbus-1-dev重新安装
2、将libdbus文件拷贝到sysroot/usr/include目录下
3、环境变量配置 export LD_LIBRARY_PATH=/sysroot dir/usr/include/dbus-1.0/dbus:$LD_LIBRARY_PATH
做完以上尝试之后删除编译目录下CMakeCache.txt和CMakeFiles目录后重新cmake,均无法解决问题,不知道有没有大佬懂的
评论