簡體   English   中英

為 raspberry pi 設置 Qt 以進行交叉編譯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM