wxWidgets在LINUX下的安装和demos的编译

本文详细介绍了在Linux环境下使用wxWidgets的两种方式:wxGTK和wxX11,包括所需开发环境的配置、库的下载与编译过程,并提供了一个简单的wxGTK程序示例及编译方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GTK和X11开发环境; 

wxWidgets在linux下有wxGTK和wxX11供使用,但是分别需要配置GTK和X11开发环境,开发环境配置如下:

X11的安装(如果选择使用wxX11):

apt-get install libx11-dev

GTK的安装(如果选择使用wxGTK):

apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

www.wxwidgets.org里下载wxGTK或wxX11,这就是wxWidgets的库,下面是编译方法,以wxGTK为例:

tar -zxf wxGTK-2.8.11.tar.gz

cd wxGTK-2.8.11

./configure

make

sudo make install

sudo ldconfig

输入wx-config --cxxflags,检查wxGTK是否正确配置安装

如果能看到wx-config头文件的路径就说明已经配置成功了。

 

下面我举个例子,说明下如何使用wx-config进行wxGTK程序的编译

hello.cpp 内容如下:

#include "wx/wx.h"

class HelloWorldApp : public wxApp
{
public:
    virtual bool OnInit();
private:
    wxButton *button;
};


IMPLEMENT_APP(HelloWorldApp)

/* this is executed upon startup, like 'main()' in non-wxWidgets programs */

bool HelloWorldApp::OnInit()
{
    wxFrame *frame = new wxFrame((wxFrame*) NULL, -1, _T("Hello wxWidgets World"));
    frame->CreateStatusBar();
    frame->SetStatusText(_T("Hello World"));
    button = new wxButton((wxFrame *)frame, -2, _T("123"));
    frame->Show(TRUE);
    SetTopWindow(frame);

    return true;
}

执行编译:
$(wx-config  --cxx)  hello.cpp  $(wx-config  --libs  --cxxflags)  -o  hello
执行程序:
./hello

就可以看到wxGTK的窗口了,感觉还可以的,我就不贴图了,更关键的是,有了wx-config,makefile编写也简单了很多,我们可以在makefile通过执行shell来获取包含文件和库文件信息,如我们可以在makefile的开头这样写

cxx:=$(shell wx-config --cxx)

libs:=$(shell wx-config --libs)

cxxflags:=$(shell wx-config --cxxflags)

在后面可以直接使用cxx作为编译器,用libs作为连接库,用cxxflags作为包含库使用了,不过用的时候别忘记使用$(cxx)、$(libs)和$(cxxflags),这样makefile的编写也简单了很多。具体的makefile这里就不写了,还是相信你懂得。

转载于:https://www.cnblogs.com/DLzhang/p/4637510.html

<think>嗯,用户问的是在Windows下编译wxWidgets 3.2的步骤,我需要详细整理一下流程。首先,我应该回想自己之前编译wxWidgets的经验,或者查阅官方文档确认步骤是否正确。记得wxWidgets支持多种构建方式,比如使用MSYS2或者Visual Studio。可能需要分不同情况说明。 用户可能是在Windows平台上进行开发,可能需要用C++wxWidgets创建GUI应用。编译wxWidgets是从源码构建,这样用户可以根据需要配置选项,比如选择静态库还是动态库,或者调整编译参数。用户可能不太清楚该用什么工具,比如是否需要安装MinGW或者Visual Studio的编译器。 首先,需要确认系统要求,比如Windows版本必要的工具链。可能需要安装Visual Studio 2019或更高版本,或者MinGW-w64。另外,是否需要安装MSYS2环境?我记得wxWidgets推荐使用MSYS2来安装依赖工具,比如makegcc。 接下来是获取源码,用户可以从GitHub克隆或者下载压缩包。然后配置构建选项,可能需要进入build/msw目录,使用不同的makefile或者nmake,根据编译器选择。比如,如果使用Visual Studio,需要用nmake对应的vcvarsall.bat环境。而MinGW的话,可能需要使用mingw32-make。 然后,编译的步骤可能分为两种:静态库动态库。用户可能需要知道如何选择这两种方式,以及各自的优缺点。比如静态库会生成较大的exe文件,但不需要携带DLL,动态库则相反。另外,编译debugrelease版本的区别,可能需要不同的参数,比如BUILD=debug或release。 编译完成后,如何链接到用户的项目呢?可能需要设置包含路径、库路径链接库。这部分可能需要指导用户如何在IDE中配置,比如Visual Studio的项目属性设置。 可能还需要提到一些常见问题,比如路径中有空格导致编译失败,或者缺少某些依赖库。还有编译时间可能较长,需要耐心等待。 另外,是否支持64位编译?现在大多数情况都是64位,所以可能需要特别说明如何编译x64版本,比如使用nmake /f makefile.vc BUILD=release TARGET_CPU=X64这样的参数。 测试安装是否成功的部分,可能需要建议用户编译samples,运行示例程序来验证。或者创建一个简单的wxWidgets程序,看是否能正确编译运行。 最后,可能还需要提供一些参考资料或官方文档链接,方便用户进一步查阅。比如指向wxWidgets的官方编译指南或者论坛,帮助解决更具体的问题。 要确保步骤清晰,分点列出,避免遗漏关键步骤。同时,注意用户可能遇到的坑,比如环境变量设置不正确,或者选择了错误的makefile,导致编译失败。需要提醒用户注意这些点,减少他们的困惑。 总结下来,整个流程大概包括:安装工具链→获取源码→配置构建选项→执行编译安装配置→测试验证。每一步都需要详细说明,特别是针对Windows环境下的不同编译工具链的选择。</think>以下是在Windows平台下编译wxWidgets 3.2的详细步骤: --- ### 一、系统要求 1. Windows 7或更高版本 2. 安装以下工具链之一: - **Visual Studio 2019/2022** (推荐使用MSVC编译器) - **MinGW-w64** (GCC编译器,建议通过MSYS2安装) 3. 可选工具: - **MSYS2** (用于MinGW环境) - **CMake** (用于替代传统Makefile) --- ### 二、准备源码 1. 下载源码: - 从GitHub克隆:`git clone https://github.com/wxWidgets/wxWidgets.git` - 或下载官方压缩包:[wxWidgets 3.2.4 Release](https://www.wxwidgets.org/downloads/) 2. 解压源码到无空格路径(例如:`D:\wxWidgets-3.2.4`) --- ### 三、使用Visual Studio编译 #### 方法1:通过命令行 (nmake) 1. 打开**x64 Native Tools Command Prompt** (根据目标架构选择32/64位) 2. 进入源码目录: ```cmd cd D:\wxWidgets-3.2.4\build\msw ``` 3. 编译配置: ```cmd nmake /f makefile.vc BUILD=release SHARED=0 MONOLITHIC=1 ``` - `SHARED=0`:生成静态库(默认动态库) - `MONOLITHIC=1`:生成单一库文件(推荐简化链接) #### 方法2:使用Visual Studio解决方案 1. 打开`wx_vc16.sln`(VS2019用vc16,VS2022用vc17) 2. 选择配置(Debug/Release)目标架构(x86/x64) 3. 生成解决方案(Build Solution) --- ### 四、使用MinGW-w64编译(通过MSYS2) 1. 安装MSYS2:[msys2.org](https://www.msys2.org/) 2. 更新工具链: ```bash pacman -Syu pacman -S mingw-w64-x86_64-toolchain make ``` 3. 进入MINGW64环境,导航到源码目录: ```bash cd /d/wxWidgets-3.2.4/build/msw ``` 4. 编译命令: ```bash mingw32-make -f makefile.gcc BUILD=release SHARED=0 ``` --- ### 五、关键编译选项 | 选项 | 说明 | |---------------------|-----------------------------| | `BUILD=debug/release` | 选择调试/发布版本 | | `SHARED=0/1` | 静态库(0)或动态库(1) | | `MONOLITHIC=0/1` | 拆分多库(0)或单一库(1) | | `UNICODE=0/1` | ANSI(0)或Unicode(1)编码支持 | --- ### 六、验证安装 1. 编译示例程序: ```cmd cd ..\samples\minimal nmake /f makefile.vc ``` 2. 运行生成的`minimal.exe`确认功能正常 --- ### 七、项目配置(以Visual Studio为例) 1. 包含目录: ``` D:\wxWidgets-3.2.4\include D:\wxWidgets-3.2.4\lib\vc_lib\mswu ``` 2. 库目录: ``` D:\wxWidgets-3.2.4\lib\vc_lib ``` 3. 链接库: - Debug模式:`wxmsw32ud_core.lib` - Release模式:`wxmsw32u_core.lib` --- ### 常见问题 1. **路径含空格**:建议安装路径避免空格(如不用`Program Files`) 2. **版本冲突**:确保项目配置的wxWidgets版本与编译版本一致 3. **Unicode支持**:现代项目应启用`UNICODE=1` 建议参考官方文档:[wxWidgets Windows Compilation Guide](https://docs.wxwidgets.org/3.2/overview_install.html#overview_install_windows)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值