2017-08-04 29 views
1

在Windows交叉编译C++应用程序的Linux我可以编写C++使用Eclipse的在Windows应用为Linux操作系统在Eclipse

如果可能的话,我必须在Eclipse中做什么设置?

在此先感谢。

+2

您正在寻找的关键字是“交叉编译”。我已经设置了这一点已经有一段时间了(因为我通常启动一个Linux虚拟机),现在它可能不同(更容易)。你要做的第一件事是追踪并安装你想要的编译器。 Eclipse有GCC的插件,所以你可能想坚持。然后当你创建一个新的C++项目时,你选择Cross GCC和...为什么我会在评论中写这个?几分钟后回答问题和图片。 – user4581301

回答

0

C++编译器可用于Linux以及Windows,所以不存在“C++应用程序用于Linux”的情况。只需使用标准C++编写,不要使用特定于平台的功能(即winapi调用),也不要使用任何不能在Linux或任何其他目标平台上构建的库。

鉴于上述情况,您只需要在Linux上编译您的程序(最初编写在Windows环境中),它将以相同的方式运行。如果您使用最新的语言功能(C++ 17和/或实验),您可能会遇到一些编译错误,这些错误很容易修复。像#ifdef _WIN32这样的东西是你处理它们时的最后手段。

当然,你不需要任何特殊的设置。唯一的建议是使用跨平台的构建系统。例如,CMake可以完成大部分肮脏工作,同时允许您在整洁的if(MSVC) ... endif()块中编写任何平台特定的构建设置。

1

首先找一个编译器。我无法帮助这个,但是“Windows到Linux交叉编译器GCC”的websearch可能会有所帮助。 So should browsing cygwin.

良好的覆盖位置:C++ cross-compiler from Windows to Linux

这发出我们Eclipse来构建它,我假设你已经知道如何做一个新项目。 ,在这里让你:

enter image description here

这导致这里:

enter image description here

没有看到面板上,所以旁边

enter image description here

填写两个文本框并单击完成。路径很明显,Eclipse会在哪里找到编译器和工具,另一个有点奇怪。因为一旦沿着这条路走下去,你往往会有许多编译器,为了防止混淆,他们必须得到不同的名称。所以你可能在同一台机器上安装linux-mips32-g ++和linux-i386-g ++和qnx-arm-g ++。 Eclipse想知道在g ++和其他工具之前拍什么。

设置远程调试会有更多乐趣,但这是另一个问题,我想。