编译安装wxWidgets

本文详细介绍如何在Windows XP环境下配置wxWidgets库与Eclipse C++ IDE的集成过程。包括环境变量设置、编译选项调整、项目配置步骤及示例代码。

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

环境:windows xp,eclispe—cpp

 

wxWidgets 压缩包解压到你要安装的目标目录( C:/wxWidgets-2.8.0 )。

 

建立下列系统环境变量:

       WXWIN   C:/wxWidgets-2.8.0

 

打开一个命令行窗口,进入 wxWidgets 目录中进行编译安装。如下图:

       mingw—console

 

具体的编译选项可参考 wxWidgets 提供的 install.txt 文件。

 

这个编译可能需要一段时间。在编译完成后,要将 C:/wxWidgets-2.8.10/lib/gcc_lib/mswud/wx 复制到 C:/wxWidgets-2.8.4/include/wx

 

Eclipse 中新建一个项目,选择项目类型为 Managed Make C++ Project ,项目名为 HelloWorld ,其余全部可以保持缺省设置。

 

选择 c/c++ Build -> Build Settings ,设置 Expand Build Environment Macros, 如下图:

选择 c/c++ Build ->Tool Settings,

 eclipse-property

GCC C++ Compiler -> Preprocessor 中添加一个 Symbol __WXMSW__

GCC C++ Compiler-> Directories 中添加 Include 路径: "${WXWIN}/include [c1]   " "${MINGW}/include [c2]   "

GCC C++ Compiler->Miscellaneous 修改 Other flags -c -Wundef -Wno-ctor-dtor-privacy -fno-strict-aliasing -mthreads –mwindows [c3]  

 

GCC C++ Linker -> Miscellaneous 修改 Linker Flags 为: --enable-auto-import -mthreads –mwindows [c4]  

GCC C++ Linker -> Libraries 增加 -L "$(WXWIN)/lib/gcc_lib" “$(MINGW)/lib”

                            增加 -l wxmsw28_core;wxbase28;wxexpat;wxjpeg;wxpng;wxzlib;kernel32; user32;gdi32;comdlg32;winspool;winmm;shell32;comctl32;ole32;oleaut32;uuid;rpcrt4;advapi32;wsock32;odbc32;opengl32. [c5]

 

 

HelloWorld 项目中建立 C++ 源程序文件和头文件: helloworld.h helloworld.cpp ,其内容如下:

Helloworld.h

 

#ifndef HELLOWORLD_H_

#define HELLOWORLD_H_

class BasicApplication : public wxApp {

public :

    virtual bool OnInit();

};

 

class BasicFrame : public wxFrame {

public :

     BasicFrame( const wxChar *title,

                int xpos,

                int ypos,

                int width,

                int height);

    ~BasicFrame();

};

#endif /*HELLOWORLD_H_*/

 

 

Helloworld.cpp

 

#include <wx/wx.h>

#include "helloworld.h"

 

IMPLEMENT_APP(BasicApplication)

 

bool BasicApplication::OnInit() {

    BasicFrame *frame = new BasicFrame( "Hello World!" ,50,50,450,300);

    frame->Show(TRUE);

    SetTopWindow(frame);

    return TRUE;

}

 

BasicFrame::BasicFrame( const wxChar* title,

                        int xpos,

                       int ypos,

                       int width,

                       int height)

        : wxFrame((wxFrame *) NULL ,

                  -1 ,

                  title ,

                  wxPoint(xpos,ypos) ,

                   wxSize(width,height )

                 ) { }

 

BasicFrame::~BasicFrame() {

}

 

 

编译,并运行一下,效果见下图

mingw-show


  [c1]

使用大括号,建立下列系统环境变量:

       WXWIN   C:/wxWidgets-2.8.0

  [c2]

建立下列系统环境变量:

              MINGW   C:/MinGW

  [c3]

会存在一个错误,这个选项去掉,就没有这个这个错误;

  [c4]

会存在一个错误,这个选项去掉,就没有这个这个错误;

  [c5]

输入文件后,在 –l 中按照每个库显示,不能有空格,可以从 debug 文件夹中的文件看到, -l 加载各个库是否正常;

 


在C/C++Build选项界面中,选择“Configuration Settings”的"Tool Settings“。
在Tool Settings中选择"GCC C++ Compiler"->"Preprocessor",
在Defined symbols列表中加入:__WXMSW__ (注意,两侧都是双下划线), __WXDEBUG__ _UNICODE (此处是单下划线,
因为你的wxWidgets是用unicode编码编译的,所以此处一定要设置该宏,不然在编译时会收到大量"undefined reference")。
接下来你需要选择Directories项并添加include及lib目录,在这里你需要添加
"C:/wxWidgets-2.8.0/lib/gcc_lib/mswud"
"C:/wxWidgets-2.8.0/lib/gcc_lib/mswu"
"C:/wxWidgets-2.8.0/include"
"C:/wxWidgets-2.8.0/contrib/include"

接下来在下面的 Miscellaneous 选项中的Other Flags中输入以下这句

-c -Wundef -Wno-ctor-dtor-privacy -fno-strict-aliasing

接下来点选到 "GCC C++ Linker" 部分。在这部分,首先选择"Libraries"并在右侧的Libraries栏中按顺序 键入以下库名:

wxmsw28ud_xrc;wxmsw28ud_richtext;wxbase28ud_net;wxmsw28ud_dbgrid; wxbase28ud_odbc;wxmsw28ud_media;wxmsw28ud_aui;wxmsw28ud_html; wxmsw28ud_adv;wxbase28ud_xml;wxmsw28ud_core;wxbase28ud;wxtiffd;wxjpegd;wxpngd;wxzlibd; wxregexud;wxexpatd;kernel32;user32;gdi32;comdlg32;winspool;winmm;shell32;comctl32; ole32;oleaut32;uuid;rpcrt4;advapi32;wsock32;odbc32

库名全部加入后在下面一栏的"Library search path (-L)"中加入以下目录

"C:/wxWidgets-2.8.0/lib/gcc_lib"

"C:/wxWidgets-2.8.0/lib"

添加完成后,选择该部分中的"Miscellaneous"项,并在"Linker flags"中键入

-Wl,--subsystem,windows -mwindows

 

### wxWidgets 安装编译指南 #### 准备工作 为了成功安装编译 wxWidgets,需先确认已安装必要的开发工具和依赖库。对于 Linux 用户来说,通常需要安装构建工具链以及 X11 开发包等资源[^1]。 #### 获取源码 可以从官方网站下载最新版本的 wxWidgets 源代码压缩文件或将仓库克隆到本地环境中。官方 Git 仓库地址为 https://github.com/wxwidgets/wxwidgets 。使用 `git clone` 命令可以方便地获取最新的源代码副本[^2]。 ```bash git clone https://github.com/wxwidgets/wxwidgets.git cd wxwidgets ``` #### 配置环境变量(可选) 如果希望简化命令行操作,在配置好编译器路径之后还可以设置一些有用的环境变量来指定默认选项,比如 CXXFLAGS 和 LDFLAGS 等参数用于优化编译过程中的行为[^3]。 #### 使用 configure 脚本初始化项目结构 进入解压后的目录后运行 `./configure` 来检测系统的状态,并创建适合当前平台使用的 Makefile 文件。此脚本会自动探测系统上的各种特性和支持情况,从而决定哪些功能模块应该被激活或禁用[^4]。 ```bash ./configure --enable-debug --with-opengl --prefix=/usr/local ``` 上述命令开启了调试模式 (--enable-debug),启用了 OpenGL 支持 (--with-opengl), 并指定了安装位置 (/usr/local)[^5]。 #### 执行 make 构建目标 当一切准备就绪时就可以执行实际的编译流程了。这一步骤通过调用 GNU 的 make 工具完成,它能够读取之前生成好的 Makefile 中定义的任务列表并将它们逐一处理直至整个工程完全建立起来为止[^6]。 ```bash make -j$(nproc) ``` 这里 `-j$(nproc)` 参数可以让多核 CPU 同时参与计算加速整体进度[^7]。 #### 测试编译成果 一旦编译结束便可以通过简单的测试程序验证新安装的库是否正常运作。在源代码根目录下找到 samples 子文件夹里面有许多现成的例子可供尝试,只需切换至对应子目录再重复一次 make 即可得到可执行文件[^8]。 ```bash cd samples/minimal/ make ./minimal ``` 以上就是完整的 wxWidgets 安装编译教程[^9]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值