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 ...
随机推荐
- cocos2dx 3.13 etc1 ClippingNode Bug 修正
void TrianglesCommand::useMaterial() const { if(_stencl){ /*******[solyess] etc1 mask的支持************ ...
- maven将jar文件加入到maven库
mvn install:install-file-DgroupId=包名-DartifactId=项目名-Dversion=版本号-Dpackaging=jar-Dfile=jar文件所在路径 1,本 ...
- 玩转JavaScript正则表达式
Why Regular Expression 我们先来看看,我们干哈要学正则表达式这玩意儿: 复杂的字符串搜寻.替换工作,无法用简单的方式(类似借助标准库函数)达成. 能够帮助你进行各种字符串验证. ...
- tengine + lua 实现流量拷贝
环境搭建参考地址:http://www.cnblogs.com/cp-miao/p/7505910.html cp.lua local res1, res2, action action = ngx. ...
- Android Http POST文件上传之-----RFC1867协议
RFC1867协议介绍 RFC1867协议主要是在HTTP协议的基础上为INPUT标签添加了file属性.同一时候限定了Form的method必须为POST,ENCTYPE必须为 ...
- python 判断字符串中是否只有中文字符
python 判断字符串中是否只有中文字符 学习了:https://segmentfault.com/q/1010000007898150 def is_all_zh(s): for c in s: ...
- 查看某一个开发者代码修改量的脚本(ios平台可用)
#!/bin/sh # This is a script that help you get your team member's productivity # by analyzing his/he ...
- Node.js 使用爬虫批量下载网络图片到本地
图片网站往往广告众多,用Node.js写个爬虫下载图片,代码不长,省事不少,比手动一张张保存简直是天与地的区别.以前用Java也做过远程图片下载,但Node.js的下载速度更让人咂舌,这也是非阻塞式变 ...
- Bat 获取本地代码的Svn Revision并保存到变量
echo off & color 0A for /f "usebackq delims=" %%i in (`"svn info Server | findstr ...
- 破解 zip 压缩包程序
目录 项目文件结构 代码实现过程 演示效果 代码地址如下:http://www.demodashi.com/demo/12021.html 项目文件结构 在当前目录有三个文件: 3-zipCrack. ...