[英]Setup Qt for cross compile for raspberry pi
我想使用 Qt creator 將一個項目從我的 linux 機器交叉編譯到樹莓派。 現在我已經設置了一個帶有編譯器(我測試過可以工作)和一個 sysroot 的工具包。 但是,當我嘗試在 Qt Creator 中編譯一個簡單的“Hello world”示例時,出現錯誤:
#include <iostream>
using namespace std;
int main()
{
cout << "Hallo!!!" << endl;
return 0;
}
/usr/include/c++/5/iostream:38: 來自 /usr/include/c++/5/iostream:38, ~/sysroot/usr/include/features.h:364: 錯誤: sys/cdefs.h: 否這樣的文件或目錄
我看到 Qt 嘗試使用以下文件進行編譯:
/usr/include/c++/5/iostream
但是它應該使用 ~/sysroot/usr/include/c++/6/iostream
在我使用的工具包中,我將 ~/sysroot 指定為 sysroot,但它似乎使用了其他 C++ 包含。 我怎樣才能改變這個?
編輯:我找到了解決問題的方法。 請參閱下面的答案。 但是我不確定這是否是最好的解決方案。 我有更好的方法,請告訴我。
我發現了問題。 默認的 qmake 構建步驟將參數“-spec linux-g++”添加到對 qmake 的調用中。 然而,這會導致選擇錯誤的編譯器。 由於我無法從 qmake 構建步驟中刪除參數,因此我刪除了 qmake 步驟並添加了一個調用 qmake 並省略 -spec 參數的自定義構建步驟。 這似乎有效,但感覺有點臟。 也許有更好/更清潔的解決方案?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.