从事PHP有将近两年了,一直都是网页,想自己做个窗口程序玩玩。
有一些c/c++的基础,想搞一个跨平台的,开始想搞QT,但想想前景好像不太好,诺基亚都差不多了。
最后绝定玩下wxwidgets
首先从网上下载个IDE,codelite这个好像是专门为wxwidgets设计的,于是果断安装之。
我安装是最全的版本,就是全有的那种。安装好后创建一个demo运行,会有很多的报错。基本是说找不到文件的。
在网上查,设置了environment variables等很多资料,本地是可以跑了,但把exe传到别电脑会发依赖文件的问题。
解除对*.dll动态链接库的方法:使用静态编译方式重新编译wxWidgets 我专门去wxWidgets主页下了新一点的wxWidgets 2.8.12源码来测试了一下。
我这里将wxWidgets 2.8.12源码安装到了 D:\wxWidgets-2.8.12 编译: ① 打开cmd控制台,将MinGW-4.4.1目录下面的mingwvars.bat拖到cmd里,运行一下。 这里是配置gcc的PATH,或者手动输命令:
Set PATH=D:\CodeLite\MinGW-4.4.1\bin;%PATH%
D:\CodeLite\MinGW-4.4.1是MinGW安装路径,这样配置好PATH。 ② 设置wxWidgets-2.8.12的编译配置文件: D:\wxWidgets-2.8.12\build\msw\config.gcc 打开这个文件,默认设置是这样的:
# What type of library to build? [0,1] SHARED ?= 0
# Compile Unicode build of wxWidgets? [0,1] UNICODE ?= 0
# Type of compiled binaries [debug,release] BUILD ?= debug
# Version of C runtime library to use. You can change this to
# static if SHARED=0, but it is highly recommended to not do # it if SHARED=1 unless you know what you are doing. [dynamic,static] RUNTIME_LIBS ?= dynamic 这几个是编译wx常用的配置选项
第一个是说生成动态链接版wx库或静态版wx库。
第二个是使用Unicode或者不使用。
第三个是编译debug或release版本wx库,通常debug和release库都要编译一遍,因为都要用。调试时一般用debug库,有很多调试信息,程序较大。调试完成,没发现问题了,就用release库发布软件。
第四个是说: 如果SHARED值为0,那么可以将RUNTIME_LIBS设置为static使用静态版本的底层C运行时库。 如果SHARED值为1,那么最好不要更改RUNTIME_LIBS ?= dynamic这项。
简单说就是静态链接wx库可以配合底层静态C运行时库(MinGW C 运行时库)或底层动态C运行时库; 动态链接动态链接动态链接动态链接wxwxwxwx库应该只和底层动态库应该只和底层动态库应该只和底层动态库应该只和底层动态CCCC运行时库运行时库运行时库运行时库((((MinGW C MinGW C MinGW C MinGW C 运行时库运行时库运行时库运行时库))))一起使用一起使用一起使用一起使用。。。。 在(1)中CodeLite默认就是使用动态wx库配合底层动态C运行时库的,所以默认需要两个依赖:wxmsw28u_gcc_custom.dll和mingwm10.dll
③ TDM-GCC编译静态的wxWidgets库 我编译了Unicode版本的Debug和Release版本静态库。Debug版的config.gcc配置项: SHARED ?= 0 UNICODE ?= 1 BUILD ?= debug RUNTIME_LIBS ?= dynamic ************************************* 在①里的cmd控制台下:
cd /d D:\wxWidgets-2.8.12\build\msw\ mingw32-make -f makefile.gcc 然后等待编译完成。Debug版静态库生成后,再改config.gcc SHARED ?= 0 UNICODE ?= 1 BUILD ?= release RUNTIME_LIBS ?= dynamic ****************************** 在控制台再来一遍编译: mingw32-make -f makefile.gcc 然后等待编译完成。这样debug和release静态库就都完成,可以用了。 静态库生成后只有\lib\gcc_lib\目录,只有*.a文件,就是静态库,没有gcc_dll目录。
④测试新的静态的wxWidgets库 用这debug和release两个版本测试了一下。 由于使用由于使用由于使用由于使用TDMTDMTDMTDM----GCCGCCGCCGCC库库库库,,,,默认就是使用底层静态默认就是使用底层静态默认就是使用底层静态默认就是使用底层静态CCCC运行时库运行时库运行时库运行时库,和上层wx静态库一起使用。 考虑config.gcc里的配置项: RUNTIME_LIBS ?= dynamic 由于TDM-GCC默认使用静态库的特性,当SHARED ?= 0时上面那句其实失效,默认为static了。 测
试了个最简单的对话框,代码使用codelite自动生成的对话框代码测试一把。
CodeLite如果要换wxWidgets的库,要设置两处:
第一处::::
Settings菜单-->Environment Variables: Environment Variables对话框中,把WXWIN路径改成新的:D:\wxWidgets-2.8.12 并把PATH和WXCFG里的gcc_dll改成gcc_lib。
第二处:
Settings菜单-->Tags Settings: 在Tags Options对话框里,选中左边Include Files,把老版的wx\include目录删掉, 上面列表加上新的:D:\wxWidgets-2.8.12\include 下面列表加上新的:D:\wxWidgets-2.8.12\include\wx\univ D:\wxWidgets-2.8.12\include\wx\unix
然后重启CodeLite。。。。
分享到:
相关推荐
在本文中,我们将详细介绍如何在Microsoft Visual C++ (VC++)环境下配置wxWidgets库,以便进行C++图形用户界面开发。wxWidgets是一个跨平台的GUI库,它允许开发者使用C++编写一次代码,运行在多个操作系统上,如...
这个指南将详细阐述在Windows环境下如何安装、编译wxWidgets,并在Visual Studio 2008中配置和使用它。 ### 一、下载与编译wxWidgets 首先,你需要从官方网站<http://www.wxwidgets.org/downloads/>下载wxWidgets...
这个 `HelloWorld` 示例是入门 wxWidgets 编程的常见起点,通过 `VS2010` 集成开发环境来构建和运行,我们可以深入了解如何在实际项目中使用 `wxWidgets`。 1. **wxWidgets 概述** - wxWidgets 提供了一个丰富的...
描述中提到,这个wxWidgets DLL在Win7环境下运行时有时会出现问题,可能的原因包括但不限于操作系统版本的兼容性、其他软件冲突、系统环境变量设置不正确,或者是依赖的其他DLL文件版本不匹配。尽管存在这些不稳定...
通过上述步骤,我们成功地在Windows XP SP3环境下配置了wxWidgets开发环境。虽然整个过程相对繁琐,但一旦完成配置,便能够充分利用wxWidgets的强大功能进行高效的GUI应用开发。此外,文中提到的参考资料提供了更为...
本项目成功地在Win7与VS 2012下编译了FFmpeg,避免了安装和配置GCC的复杂过程。 FFmpeg包含许多组件,如libavcodec(编码库)、libavformat(容器格式处理)、libavfilter(滤镜系统)和libavutil(通用工具库)。...
1. **Microsoft Visual Studio 2017**:作为C++开发环境,VS2017提供编译器和其他必要的构建工具。 2. **CMake 3.14.2**:这是一个跨平台的自动化构建系统,用来管理项目的构建过程。对于PCL和VTK这样的多项目结构...
本文将详细介绍一款利用开源集成开发环境Code::Blocks编写的串口调试助手,帮助开发者更便捷地进行串口调试工作。 Code::Blocks是一款流行的、免费且开源的C++ IDE,支持多种操作系统,如Windows、Linux和macOS。它...
它允许玩家在无需实际登录游戏的情况下,对舰船的装备配置进行模拟和优化,极大地提升了玩家在游戏中的策略规划能力。PyFA基于Python编程语言开发,并且开源,这意味着用户不仅可以免费使用,还可以参与到软件的改进...
【描述】"wxPython2.8-win32-unicode-2.8.8.0-py25"的描述简单明了,仅是标题的复述,表明这是一个特定配置的wxPython发行版,用于Windows操作系统,包含Unicode支持,且与Python 2.5版本兼容。Unicode支持意味着该...
开发者可能使用了Win7及更高版本支持的新API或技术,而这些在XP中未被实现或支持。 2. **硬件需求**:随着软件的发展,对硬件的需求也在增加。如果在XP机器上硬件配置较低,可能会导致性能问题,尤其是在处理图形、...
Python 2.7.10是这个环境使用的Python版本,它是一个强大的脚本语言,广泛用于自动化任务、数据分析以及软件开发。Python 2.7系列虽然已接近维护末期,但在很多现有项目中仍然得到支持。 wxPython 2.9.5.0-py27.exe...
Robot Framework的集成开发环境RIDE(Robot Framework IDE)基于wxPython构建。wxPython是Python的一种GUI工具包,实现了wxWidgets跨平台GUI库的Python绑定。此安装包包含两个版本的wxPython:2.8.12.1的win64位和...
1. **robotframework-ride**: RIDE(Robot Framework IDE)是Robot Framework的一个集成开发环境,为创建、编辑和运行基于Robot Framework的测试套件提供了友好的图形界面。64位版本确保它能够在64位操作系统上运行...
- **背景**:GTK 是 Linux 下 GNOME 桌面环境的核心开发库。 - **特点**:功能全面,但在 Windows 平台上可能无法实现完全本地化的显示风格。 - **应用场景**:适用于 Linux 平台下的应用程序开发。 - **优势**:...
【标题】:“wxPython-py28”是一个与Python编程语言相关...这些知识点涵盖了wxPython作为GUI开发工具的重要性,以及如何与“RTLSDR_SCANNER”这样的应用结合使用,以及在不同操作系统环境下安装和管理Python库的实践。
CanFestival-3.10提供的字典环境配置功能允许用户根据自己的硬件需求定制和配置这些对象,以便于设备间进行有效的通信。 `Beremiz-1.1_RC5.exe`是Beremiz软件的安装程序,Beremiz是一个基于Python的CANopen节点管理...
在Robot Framework中,wxPython主要用于构建RIDE,这是一个基于Python的集成开发环境,用于创建、编辑和运行Robot Framework测试套件。 3. **Robot Framework**:Robot Framework是一个开放源代码的通用自动化框架...