我是习惯于Visual Studio社区的Windows开发人员。现在,我开始在嵌入式设备(Raspberry Pi,C.H.I.P)和PC上为Linux开发。

我发现Visual Studio有两个为Linux开发的选项:

  • VisualGDB-用于交叉编译和远程调试的Visual Studio扩展,但是对于我当前的预算
  • 来说,它的成本太高
  • 是全新的Microsoft扩展:用于物联网开发的Visual C++和用于Linux开发的Visual C++,但是它们存在错误,它们在每个版本上都复制每个文件,并且它们很难配置“Linux方式”(没有完整的make/cmake支持,必须在远程计算机上使用绝对包含路径),而且Intellisense不能可靠地运行。

  • 因此,我已经准备好尝试一些不受Visual Studio限制的东西,但是质量和工作流程都差不多,而我目前最好的选择似乎是QtCreator。

    如何从Windows机器上运行的QtCreator实现Linux的构建

    使用QtCreator支持或更好地使用哪种方法(提供自动完成和调试的便利性)-交叉编译和复制二进制文件并启动GDB,或远程构建项目(但可以选择不复制文件,以防我正在构建)在Samba共享文件夹上)?

    最佳答案



    假设您说跨工具链不是问题,那么我选择的最大参数就是项目的大小和编译时间。如果您可以在几分钟内完成这个项目,那么我会选择本地选项。

    关于交叉编译前提条件的一些注意事项:
    您应该具有交叉编译的设备的sysroot,链接器将从该sysroot获取所有未动态链接的适当库。

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

    这是一个大话题:)我建议您提出子问题,以便我们逐步形成答案。

    关于c++ - 如何在Windows上使用QtCreator为Linux构建和调试应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37856163/

    10-16 20:14