2017-06-13 202 views
0

使用Yocto我能夠生成我的Linux映像及其具有qt和opencv庫的根文件系統。如何使用opencv和qt編譯Yocto linux映像的程序?

爲了編譯程序QT有一個SDK poky-eglibc-i686-meta-toolchain-qt5-cortexa15hf-vfp-neon-toolchain-1.6.1.sh

編譯Opencv我有另一個SDK:poky-eglibc-i686-core-image-weston-cortexa15hf-vfp-neon-toolchain-1.6.1.sh。

QT SDK沒有opencv的庫和頭文件,這使得使用Opencv和QT編譯程序變得困難。

我成功地能夠使用單獨的SDK編譯Qt程序和opencv程序。

有沒有可以用QT和Opencv編譯程序的SDK? 或者我應該如何生成一個?

回答

1

我的首選是創建一個基於圖像的SDK,即一個與您的圖像匹配的SDK。這可以通過以下實現:

bitbake <your-image> -c populate_sdk 

如果圖像包括QT5應用和OpenCV,這些都將自動被安裝到新的SDK。你應該在你的圖像食譜以下行:

inherit populate_sdk_qt5 

另一種方法是創建自己的SDK-配方,例如通過複製meta-toolchain-qt5到自己的層和重命名它。然後添加:

TOOLCHAIN_TARGET_TASK_append = " opencv" 

這應該將opencv添加到您的通用Qt5 SDK。

同樣,我的建議是使用基於圖像的方法。

+1

我也使用基於圖像的方法。我的圖片還包含'inherit populate_sdk_qt5'。這將拉動一些nativesdk qt工具,它會創建'qt.conf' sdk文件。我不確定這些東西是否因爲依賴關係而被拉進來。 –

+0

@TomasNovotny謝謝你的回覆。我做了同樣的事情,繼承populate_sdk_qt5,然後bitbake -c populate_sdk。有效。 – sumit