How do I get Qt SDK configured properly with Yocto project?

不打扰是莪最后的温柔 提交于 2019-12-18 13:36:55

问题


I'm new to Yocto Project. The initial idea is to create a custom image based on core-image-full-cmdline (this is with no windowing system) and generate a Qt5 SDK against this image.

  • So my target to be able to run Qt applications needs to have some headers & libraries installed, isn't ? What I must specify on my image recipe ?
  • Doing $ bitbake my_image -c populate_sdk will generate my_image with Qt5 support + SDK installer ?

As I understood, to get a Qt SDK the steps would be:

  1. Download and add meta-qt5 to bblayers.conf.

  2. Add to the image recipe against which you want to build the SDK: inherit populate_sdk_qt5

  3. Configure the SDK build (add/remove features). <- Here I need help. I only want EGLFS support, no X11/Wayland and no Qtwebkit (and idk, maybe some other features that I'm not aware yet).
  4. bitbake my_image -c populate_sdk

My build got an error compiling wayland although I have this: DISTRO_FEATURES_remove = "x11 wayland"


回答1:


I made some mistakes. So these are the steps:

  1. Download and add meta-qt5 to bblayers.conf.

  2. Add to the image recipe against which you want to build the SDK: inherit populate_sdk_qt5. Now the do_populate_sdk task knows the target and will install the needed headers and libs on the respective sysroot (which will be needed later to be able to configure QtCreator per example)

    2.1 As we gonna generate an SDK, dev packages are needed. Add this to the image recipe: IMAGE_FEATURES += "dev-pkgs"

    2.2 If our distro doesn't have any windows manager: DISTRO_FEATURES_remove = "x11 wayland". My mistake was to put this on my image recipe but it must be set on local.conf so all the recipes are aware of this. More info about Qt backends

    2.3 I'm not sure about this but I wanted to remove qtwebkit, and I added (on local.conf): PACKAGECONFIG_remove_pn-qttools = "qtwebkit" PACKAGECONFIG_remove_pn-qtquick1 = "qtwebkit". Still qtwebkit module is built. I need to investigate more about this.

  3. Build the image $ bitbake my_image

  4. Build the SDK $ bitbake my_image -c populate_sdk

Now we got a toolchain needed for cross-compile.




回答2:


If you want to add Qt5 to your image-based SDK, you need to add the following line to your image recipe:

inherit populate_sdk_qt5



回答3:


You have to add the path of meta-qt5 in your conf/bblayers.conf to the BBLAYERS variable. I think it's all you need to start.




回答4:


  1. If you want default Qt5 SDK use
    bitbake meta-toolchain-qt5 or
  2. If you need Qt5 sdk with extra packages then first compile your qt5 image with required packages after that compile sdk.

    bitbake custom-qt5-image

    bitbake -c do_populate_sdk custom-qt5-image



来源:https://stackoverflow.com/questions/40258161/how-do-i-get-qt-sdk-configured-properly-with-yocto-project

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!