2016-06-16 60 views
2

我是习惯于Visual Studio社区的Windows开发人员。现在我开始在嵌入式设备(Raspberry Pi,C.H.I.P)和PC上开发Linux。如何在Windows上使用QtCreator构建和调试Linux应用程序?

我发现,Visual Studio中有两个选项,开发版:

  • VisualGDB - 的Visual Studio扩展交叉编译和远程调试,但它的成本太高了我目前的预算

  • 全新的Microsoft扩展:用于物联网开发的Visual C++和用于Linux开发的Visual C++,但是它们很麻烦,它们复制每个构建中的每个文件,并且很难配置“Linux方式”(没有完整的make/cmake支持,必须在远程计算机上使用绝对包含路径),而且Intellisense也不可用LY。

所以我准备多试Visual Studio的限制较少,但有几分相似质量和工作流程的东西,而我目前最好的选择似乎是QtCreator。

如何从QtCreator实现Linux下编译Windows机器

哪种方式支持或更好地工作运行(提供自动完成和调试便利)与QtCreator - 交叉编译&复制二进制文件和启动GDB或远程构建项目(但是可以选择不复制文件,以防我在Samba共享文件夹上构建)?

+0

我已经使用过Qt创建器,这是一个不错的体验。有没有x86 Linux到armv7 Linux。但是,获得实际的工具链非常容易。你有交叉工具链可用于Windows交叉编译的手臂吗?它与IDE无关。 – TheMeaningfulEngineer

+1

也许[这篇文章可以帮助](http://stackoverflow.com/questions/11420984/qtcreator-on-windows-to-cross-compile-for-linux-arm-with-codesourcery-toolchain)。顺便说一句,就你有一个SDK,工具链和交叉编译器而言,你可以配置一个QTCreator工具包来执行你所需要的工作。 – LPs

+0

@Alan - 我想,工具链应该不是问题 - 这里有很多选项,但我不确定是否应该交叉编译或远程编译,因为我不知道哪个选项更适合QtCreator ,考虑自动完成,错误突出显示,在IDE中进行调试。 – JustAMartin

回答

1

哪种方式支持或更好地工作(提供自动完成 和调试便利)与QtCreator

既然你说的交叉工具链不是一个问题,选择我最大的参数将是项目的大小和编译时间。如果这是一个可以在几分钟内交叉构建的项目,我会选择本地选项。

有关交叉编译的先决条件的一些注意事项: 您应该有交叉编译的设备的sysroot,链接器将从中获取所有未动态链接的相应库。

当远程调试时,我发现了以下最佳做法。你必须有两个调试应用程序,gdb和gdbserver。当您在主机上运行gdb时,Gdbserver在嵌入式设备上运行。为了能够在运行时浏览代码,需要使用调试符号进行交叉编译。如果设备具有足够的内存,则可以在设备上使用调试符号部署整个二进制文件。

这是一个很大的话题:)我建议你问问子问题,所以我们可以逐步形成答案。

相关问题