首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RaspberryPi的

RaspberryPi的
EN

Stack Overflow用户
提问于 2016-04-26 17:04:06
回答 3查看 2.7K关注 0票数 6

我正在尝试创建一个qmake .pro文件,以便在RaspberryPi中编译(而不是交叉编译)。我是否可以根据平台使用条件定义:

代码语言:javascript
复制
linux-g++-64: {
    message(We are in Linux 64 bits)
}
macx: {
    message(we are in mac osX)
}
win32: ...

但是,我无法找到一种方法来检测我在PaspberryPi中使用raspbian的情况。

我试过像linux-armarm-linuxlinux-arm-gnueabi-g++这样的东西,但没有运气。

有人知道做出这个条件定义的正确方法,或者如何检测我们是否正在RaspberryPi体系结构中编译?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-30 13:36:10

这对我起了作用:

代码语言:javascript
复制
linux {
    contains(QMAKE_HOST.arch, arm.*):{
        raspberry's bla bla bla

    }else{
        ...
    }
}

我希望它对你有用。

http://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-host

票数 5
EN

Stack Overflow用户

发布于 2019-04-04 08:51:27

当前用于RPi3的Raspbian (32位)将QMAKE_HOST.arch报告为armv7l,而旧板\OS可以报告armv6l

当64位构建时,比如UbuntuMate for RaspberryPi:aarch64

票数 1
EN

Stack Overflow用户

发布于 2016-05-09 12:49:33

好吧,看起来没有人有答案,所以我做了一个对我有用的解决办法,如果对你有效,我会很高兴的。

在执行qmake时,我聚合了一个标志,例如

代码语言:javascript
复制
qmake CONFIG+=MQ_ARM -r

它将执行qmake递归,并将标志传递给每个.pro文件。

在.pro文件中,可以添加以下内容:

代码语言:javascript
复制
MQ_ARM {
    LIBS +=bla bla
    message(USING ARM LIBRARY)
} else:MQ_i686 {
    LIBS +=bla bla
    message(USING 32bits LIBRARY)
}
else {
    LIBS +=bla bla bla
    message(qmake configurated as x86_64 if you want another conf use qmake CONFIG+=MQ_ARM project.pro -
}

您可以分离为另一个文件project.pri,并将包含在所有子项目的.pro文件中包含在内(project.pri)

希望能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36871334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档