我想使用codeblocks IDE从Linux交叉编译Windows的wxWidgets应用程序。
我已阅读these条指令,其中提供了一些有用的信息,但说明并未涵盖代码块。
答案 0 :(得分:3)
这些是我在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计算机。将您的appname重命名为后缀.exe。双击运行。