如何制作跨平台工具链,以便在Win7+Eclipse+MinGW+wxWidgets上编译,并将其应用于Debian系统的Beaglebone Black?

7

我有一些在Windows环境下进行编程的经验,但是我需要在BeagleBone Black上开发一个"Kiosk"(我听说这是正确名称)。我完全不懂Linux,也不熟悉我要使用的工具。直到最近几个月,我只使用VB6C++Builder进行编程。

现在我已经在我的Windows 7 64位个人电脑上安装了EclipseMinGWwxWidgets,并且BeagleBone Black引导了Debian 7.8版本带有LXDE的系统。

我需要设置一个工具链来为BeagleBone Black进行编译。我已经努力尝试并阅读了至少一百页的资料,但是我仍然没有弄明白。

这个网站上我了解到可以从Windows上为Linux进行编译,这可能是完美的解决方案。如果不行,我已经拥有一个运行Ubuntu的虚拟机(但如果需要我可以更改),可以用于Eclipse和其他软件的安装。

我仍然不知道该使用或建立哪种工具链进行编译。这个网站似乎已经构建了一个工具链,但是没有指示从哪里开始。我理解现在应该使用这些工具对wxWidgets进行编译,但我不确定,而且我不想因为错过任何开关或路径而弄乱了我当前的Windows工作设置。

我看到这个问题曾经被问了不止一次,但是我没有找到最新版本的答案,所以我再问一遍。

如何使用EclipseMinGWwxWidget在Windows上为一个运行Debian和LXDE的BeagleBone Black编译GUI应用程序?


还有:这个Eclipse插件对我有用吗? - Parduz
1
你所需要的就是一个交叉编译器,使用它来编译所有你想要用来构建应用程序的库和工具,然后必须将它们与你喜欢的IDE集成(如果你想使用其中之一),并使用它来生成二进制映像并上传到你的板子上。这是一个非常广泛的话题,没有单一的终极方法。它在很大程度上取决于具体的用例(这就是为什么它被称为嵌入式的原因)。BeagleBone Black是一个非常好文档化的项目。为什么不跟随他们的帮助或直接询问他们呢?他们有一个非常活跃的论坛。 - max
因为我遵循的任何指南/教程都失败了。有些过时了,有些根本不起作用。我下载了Linaro工具链二进制文件,但是当通过configure调用gcc时,它会崩溃。我不知道它是否崩溃是因为我传递了错误的参数还是因为它只是有缺陷的。我卡在“构建wxwidgets”步骤中,不知道出了什么问题。 - Parduz
我不太同意你评论中说的“非常好文档化”的部分,但也许有些地方我可能漏看了,所以无法确定为什么我不同意你的看法(即使我保存了大约100个书签来尝试获取一些线索,我相当确信它并没有被很好地文档化:))。谢谢你的评论,如果你能指导我,我将不胜感激。 - Parduz
1
既然你说在读过100多页的教程后“失败”或“卡住”了构建wxwidgets的部分,我建议你将错误信息和你所遵循的文章作为链接发布,这样我们可以看看我们能做些什么。这就是stackoverflow的用途。我已经使用BeagleBone和BeagleBoard很长时间了,没有遇到任何问题,并且我已经为Windows和Linux创建了工作环境。此外,这些文档都是针对专业人士编写的,因此大多数初学者会发现难以理解,或者根本无法调试/纠正错误。 - max
还有一个标志用于标记过于宽泛的问题,如果您不包含研究结果或努力,那么它将被归类为此类别。 - max
1个回答

4
  1. 您需要一个在Windows上运行并为目标平台(Debian arm)生成二进制文件的编译器。
  2. 您需要针对目标平台的SDK(头文件,库)。

MinGW-64w wiki描述了如何构建MinGW交叉编译器和构建环境。

您还可以查看SO:从Windows到Linux的C++交叉编译器

另一种技术是加拿大十字架,就像Google为Windows主机制作其Android NDK一样。首先,您应该设置Linux构建机器。然后构建GCC和binutils,它们将在Windows机器上运行,并为Debian arm生成二进制文件。然后将构建的工具链复制到Windows Cygwin或MSYS环境中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接