ubuntu - wxWidgets 如何使用代码块从 linux 交叉编译 Windows 应用程序?

标签 ubuntu mingw wxwidgets codeblocks wine

我想使用 codeblocks IDE 从 Linux 交叉编译一个 wxWidgets 应用程序。

我已通读 these提供一些有用信息的指令,但这些指令不包括代码块。

最佳答案

这些是我在 Ubuntu 13.10 (Saucy Salamander) 上遵循的步骤

更新系统并安装mingw32和wine:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install mingw32 wine

从源代码安装 wxWidgets 2.8:
sudo su -
cd /opt
wget http://downloads.sourceforge.net/project/wxwindows/2.8.12/wxWidgets-2.8.12.tar.gz
tar -xvzf wxWidgets-2.8.12.tar.gz
cd wxWidgets-2.8.12/
./configure --prefix=/usr/local/i586-mingw32 --host=i586-mingw32msvc --build=i686-linux --disable-shared --enable-unicode
make
make install

安装代码块
sudo apt-get install codeblocks codeblocks-contrib

打开代码块,然后设置如下:
Settings > Compiler > 

   Selected Compiler > GNU GCC Compiler > Copy > New Compiler Name : MinGW Compiler

   Selected Compiler > MinGW Compiler

   Search Directories > Compiler > Add : /usr/i586-mingw32msvc/include/
   Search Directories > Linker > Add : /usr/i586-mingw32msvc/lib/
   Search Directories > Resource Compiler > Add : /usr/i586-mingw32msvc/include/

   Toolchain Executables >
       Program Files >
           Compilers Installation Directory : /usr/i586-mingw32msvc/
           C Compiler : i586-mingw32msvc-gcc
           C++ Compiler : i586-mingw32msvc-g++
           Dynamic Linker : i586-mingw32msvc-g++
           Static Linker : i586-mingw32msvc-ld
      Additional Paths : /usr/bin

Compiler Settings >  Other Options : `/usr/local/i586-mingw32/bin/wx-config --cxxflags` 
Linker Settings > Other Options : `/usr/local/i586-mingw32/bin/wx-config --libs` 

现在在codeblocks中新建一个项目,关键字段如下:
New Project > wXWidgets Project
    wXWidgets > 2.8.x
    Preferred GUI Builder > wxSmith
    Compiler > MinGW Compiler

在 Codeblocks 中,单击 compile - 这将设置我们在下一步中需要的应用程序输出文件夹。

在终端窗口中,需要复制 mingwm10.dll输出文件夹:
cd <your applications Debug folder>
cp /usr/share/doc/mingw32-runtime/mingwm10.dll.gz .
gunzip mingwm10.dll.gz

现在用酒运行:
wine ./youappname

要在 Windows 机器上运行您的应用程序,请复制 mingwm10.dll和您的 appname 可执行文件到 Windows 机器。重命名您的应用程序名称以具有后缀 .exe。双击运行。

关于ubuntu - wxWidgets 如何使用代码块从 linux 交叉编译 Windows 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19396669/

相关文章:

linux - Ubuntu Linux 的资源跟踪库?

python-3.x - 诗歌在非标准 apt-get 存储库中添加对包的依赖

C++ Makefile 找不到文件

c - 如何列出目标文件中静态声明的大小?

c++ - gcc/mingw 中 'startup files' 的来源

C++如何使用printf获取 "one digit exponent"

python - wxPython(wxWidgets): how to customize scrollbars look'n'feel?

linux - 刚刚将 Ubuntu 更新到 22.04,现在我无法打开 Jupyter Notebook

mysql - 在终端上自动化 MySQL 脚本

c++ - 在 C++ wxDir 中非递归地迭代目录