如何在linux下交叉编译windows的wxwidgets应用程序

时间:2017-08-15 08:20:26

标签: wxwidgets

我已经安装了交叉编译器" x86_64-w64-mingw32-g ++"和" i686-w64-mingw32-g ++"构建32位和64位应用程序,我已经下载了wxwidgets 3.0.3的源代码。

  1. 如何构建可用于交叉编译器的源?
  2. 我必须向编译器发送哪些命令来构建wxwidgets应用程序?

2 个答案:

答案 0 :(得分:1)

  
    

我如何构建可用于交叉编译器的源?

  

我建议使用预建的二进制文件,而不是尝试交叉编译 使用MinGW的wxWidgets库。编译自己的应用程序是为了 在没有尝试使用相同过程的头痛的情况下足够困难 使用构建系统制作所需库的Windows版本 开发商提供的。

当您在Linux中使用MinGW时,您需要访问所有标头,库, 和你正在编译的项目的DLL(如果你不是静态编译) Windows目标。这些的linux版本不起作用。

  
    

我要将哪些命令发送给编译器以构建wxwidgets应用程序?

  

与构建Linux平台没什么不同,除了你需要的东西 适用于我上面提到的所有Windows版本。哪一个 您将发送给编译器以构建应用程序的命令 对您的项目是主观的,但是您需要在您的项目中包含标题 构建,您需要链接链接中的Windows库, 以及如果你不静态编译所有这些,你将需要 wxWidgets DLL来运行应用程序。

我一直在使用这种方法交叉构建应用程序。 它运作得很好,但是这是一个复杂的过程,我老实说不是全部 非常棒,我倾向于使用尽可能多的预构建和/或仅限标头的库 尽我所能,因为它减少了交叉构建应用程序的复杂性。

虽然我鼓励你自己学习如何做,但我鼓励 如果学习如何做到这一点是你的最终目标。如果你只需要一个构建 一个应用程序,我很快就会鼓励在本机Windows中安装MinGW。

答案 1 :(得分:0)

您可以使用autoconf交叉编译wxWidgets:

$ mkdir build-msw
$ cd build-msw
$ ../configure --host=x86_64-w64-mingw32 --build=x86_64-unknown-linux-gnu --with-msw ...any other configure options...
$ make

(当然,如果你想使用32位编译器,请使用--host=i686-w64-mingw32。)

构建应用程序取决于您正在使用的make / build工具,但是全局它与为本机应用程序(在文档中描述)做它没有任何区别,您只需要使用正确的编译器并更正{{ 1}}(即上面构建生成的那个)。