【问题标题】:QtCreator on Windows to Cross Compile for Linux ARM with CodeSourcery ToolchainWindows 上的 QtCreator 使用 CodeSourcery 工具链为 Linux ARM 交叉编译
【发布时间】:2012-07-10 09:10:26
【问题描述】:

我在我的 Windows 7 机器上安装了 Qt Creator,我的目标是 OMAP3 嵌入式 Linux 板。我下载了目标工具链 Sourcery-G++ Lite for Windows,并在我的 Windows 机器上安装了 MinGW (http://www.mingw.org/)。在 QT Creator 中,我将 CodeSourcery 工具链添加为“手动”工具链,如下图所示。然后,我尝试通过在“模拟时钟”演示应用程序的“项目”下编辑“构建设置”来使用此工具链构建演示 Qt 应用程序“模拟时钟”。但是工具链在 Build Settings 下不可用,如第二张图所示。

如何使用构建选项中的代码源工具链从 Qt Creator 构建此演示应用程序或任何 Qt 应用程序?我绝对必须使用 Windows 来完成这个(不能使用 Linux VM...)。

我相信这可能与为目标构建 Qt 库有关,但不确定这是否属实或如何在 Windows 上执行此操作。非常感谢您的帮助和洞察力。

编辑:新信息 - 需要帮助配置 Qt Creator:

我已使用 CodeSourcery 工具链构建 Qt 4.8 库且没有错误,并且在遵循 http://c2143.blogspot.com/?view=classic 之后,我在 /lib 目录中有 .so 文件。现在我正在尝试连接 CodeSourcery 编译器并将 Qt 4.8 构建到 Qt Creator,这样我就可以为目标板构建示例应用程序。

我阅读了以下文章: http://doc.qt.nokia.com/qtcreator-2.4/creator-project-qmake.html http://doc.qt.nokia.com/qtcreator-2.4/creator-tool-chains.html 描述如何将 Qt 版本的新工具链添加到 Qt Creator。请参阅所附图片,了解我如何配置 Qt Creator。我正在使用 Qt Creator 2.4.1。

我收到一个错误,没有在下面粘贴太多信息...对此或我的配置有什么想法吗?

09:51:07: Running build steps for project analogclock...
09:51:07: Configuration unchanged, skipping qmake step.
09:51:07: Starting: "C:\QtSDK\mingw\bin\mingw32-make.exe" 
arm-none-linux-gnueabi-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mthumb -mfpu=neon -mfloat-abi=softfp -Wa,-mimplicit-it=thumb -O2 -Wall -W -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I"..\qt-4.8-src\include\QtCore" -I"..\qt-4.8-src\include\QtNetwork" -I"..\qt-4.8-src\include\QtGui" -I"..\qt-4.8-src\include" -I"." -I"c:\QtSDK\Examples\4.7\widgets\analogclock" -I"." -I"..\qt-4.8-src\mkspecs\default" -o analogclock.obj c:\QtSDK\Examples\4.7\widgets\analogclock\analogclock.cpp
arm-none-linux-gnueabi-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mthumb -mfpu=neon -mfloat-abi=softfp -Wa,-mimplicit-it=thumb -O2 -Wall -W -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I"..\qt-4.8-src\include\QtCore" -I"..\qt-4.8-src\include\QtNetwork" -I"..\qt-4.8-src\include\QtGui" -I"..\qt-4.8-src\include" -I"." -I"c:\QtSDK\Examples\4.7\widgets\analogclock" -I"." -I"..\qt-4.8-src\mkspecs\default" -o main.obj c:\QtSDK\Examples*\4.7\widgets\analogclock\main.cpp
C:\Users\pclass\Desktop\qt_creator_toolchain\qt-4.8-src\bin\moc.exe -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I"..\qt-4.8-src\include\QtCore" -I"..\qt-4.8-src\include\QtNetwork" -I"..\qt-4.8-src\include\QtGui" -I"..\qt-4.8-src\include" -I"." -I"c:\QtSDK\Examples\4.7\widgets\analogclock" -I"." -I"..\qt-4.8-src\mkspecs\default" c:\QtSDK\Examples\4.7\widgets\analogclock\analogclock.h -o moc_analogclock.cpp
mingw32-make.exe: *** [moc_analogclock.cpp] Error -1073741515
09:51:09: The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project analogclock (target: Desktop)
When executing build step 'Make'

【问题讨论】:

    标签: qt qt-creator cross-compiling toolchain linux-toolchain


    【解决方案1】:

    您首先需要目标的 Qt 库。您可以使用 CodeSourcery 工具链构建它。然后,可以使用一些工具(qmake、moc...)和库。

    【讨论】:

    • 感谢您的评论 - 请看我修改后的问题。
    【解决方案2】:

    我将 mingw 添加到路径中,然后进行了构建,它成功了。如果我在示例中执行“文件”命令,它会给我以下内容,这看起来很有希望。现在在板上尝试一下。

    $ 文件模拟时钟 模拟时钟:ELF 32 位 LSB 可执行文件,ARM,版本 1 (SYSV),动态链接(使用共享库),用于 GNU/Linux 2.6.16,未剥离

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 2017-02-03
      • 2011-05-18
      • 1970-01-01
      相关资源
      最近更新 更多