Qt5 CMake cross compile
cmake_minimum_required(VERSION 2.8) if (${ARM})
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm) set(CMAKE_STAGING_PREFIX $ENV{HOME}/dev/kndos/rootfs)
set(CMAKE_SYSROOT ${CMAKE_STAGING_PREFIX})
set(CMAKE_FIND_ROOT_PATH /usr/lib/arm-linux-gnueabihf ${CMAKE_STAGING_PREFIX})
set(CMAKE_LIBRARY_ARCHITECTURE arm-linux-gnueabihf) set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
endif () project(tqml) set(CMAKE_CXX_STANDARD ) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON) find_package(Qt5 COMPONENTS Widgets Qml Quick REQUIRED) if (${CMAKE_CROSSCOMPILING})
set(HOST_QT_BIN /usr/lib/x86_64-linux-gnu/qt5/bin)
set_target_properties(Qt5::uic PROPERTIES IMPORTED_LOCATION ${HOST_QT_BIN}/uic)
set_target_properties(Qt5::moc PROPERTIES IMPORTED_LOCATION ${HOST_QT_BIN}/moc)
set_target_properties(Qt5::rcc PROPERTIES IMPORTED_LOCATION ${HOST_QT_BIN}/rcc)
endif () add_executable(${PROJECT_NAME} main.cpp main.qml main.qrc)
target_link_libraries(${PROJECT_NAME}
Qt5::Widgets
Qt5::Qml
Qt5::Quick)
CMakeLists.txt
其实只需要注意一个问题即可,其他的都有上位机相同,CMAKE_FIND_ROOT_PATH_MODE_PROGRAM虽然设置成了NEVER,但是并不会改变Qt5::uic/moc/rcc的查找方式,需要覆盖下,使用上位机的uic/moc/rcc
注:我的rootfs就是使用debian-bootstrap构造的rootfs
Qt5 CMake cross compile的更多相关文章
- 产品中 configure/cross compile的一个bug
在mac机上, 为iPhone版本编译产品. 运行./configure报错如下: configure:22793: error: cannot run test program while cros ...
- Cross compile perl
Alex Suykov had do some work for this purpose, and my compile script is based on her patch. Steps St ...
- cross compile vlc 播放器
上一篇文章介绍了如何交叉编译 FFmpeg ,继续介绍 VLC播放器 交叉编译 . 首先下载 vlc 源码 我用的是 2.2.6 地址 : http://mirrors.neusoft.edu ...
- aarch64 cross compile 交叉编译 opencv
需求 : linux host : UBUNTU opencv source : opencv 3.3.1.zip CMAKE : apt-get install cmake cmake-qt- ...
- Qt5 Cmake
project(my) cmake_minimum_required(VERSION ) set (CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.3.0\\5.3\\msvc ...
- build-qt.sh(Cross compile in Linux for Windows)
#!/bin/bash set -e MINGW=${MINGW:-${ARCH:-x86_64}-w64-mingw32} PREFIX=${PREFIX:-usr} WORKSPACE=${WOR ...
- 使用Qt5+CMake实现图片的区域选择(附源码)
近期研发涉及到了图片的区域选择,找来一些资料一直不能很满意,所以自己实现了一个. 实现步骤如下.源码可以点击ImageAOI获取. 如下资料来自源码的README. ImageAOI (XLabel) ...
- static cross compile gtk-2.16.6+gtk-directfb+arm-linux (arm-linux-gcc-3.4.4+glib-2.3.5)
----------------------------------------------------------------------- In Ubuntu 10.4 Desktop and & ...
- [cross compile]cygwin和mingw
转自:http://blog.csdn.net/embededvc/article/details/6829010 1. MinGW和CygWin/gcc概念 Unix下编译通过的C代码,在win32 ...
随机推荐
- Java高级架构师(一)第05节:TortoiseGit的本地使用
- IOS学习笔记39--NSString各种语法的使用
今天就NSString的各种语法学习学习,以后慢慢补充: 1.字符串的遍历 NSString *string = @"CHENGWULI"; //字符串的长度 int count ...
- Ubuntu 14 下,命令行终端显示短路径
Ubuntu的终端命令行默认是长路径,即把路径深度全部显示出来,操作起来不是很方便,下面介绍命令行显示短路径的操作: $ vi ~/.bashrc 找到PS1= 的行,将\w(小写)改成\W(大写 ...
- Quartz 2.3 动态添加、修改和删除定时任务
下面直接上代码: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qu ...
- RedisTemplate SerializationFailedException: Failed to deserialize payload 异常解决
问题描述: 使用RedisTemplate(spring-data-redis )进行redis操作的封装 , 现有一个incr的key , 当调用incr后返回值一切正常, 当对此key进行get调 ...
- mysql 初始化报错 /usr/local/mysql/bin/mysqld:error while loading shared libraries :libaio.so.1
安装mysql在初始化的时候,出现/usr/local/mysql/bin/mysqld:error while loading shared libraries:libaio.so.1 :canno ...
- k8s debug记录之kubelet user.slice container monitor failure
在kubernetes中,如果使用其自带的单机启动脚本./hack/local-up-cluster.sh来启动一个本地集群的话,会在kubelet的日志中观察到类似以下内容的日志: Failed t ...
- e.which
e.which is not an event, which is a property of the event object, which most people label as e in th ...
- 【招聘App】—— React/Nodejs/MongoDB全栈项目:个人中心&退出登录
前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...
- 推荐一个静态页面生成工具-mkdocs
最近需要找一个生成api文档的工具,找来找去发现mkdocs特别符合需求. 部署只需python和pip 直接生成静态html 用markdown编写 不需要再markdown里指明日期.标题等信息 ...