在Code::Blocks中编译和使用wxWidgets3.0.0教程
注意,编译Code :: Blocks的对wxWidgets的3.0.0链接不是很稳定,但该库至少可以被正确编译,(只是使用的时候可能会有问题);CodeBlocks开发商都在努力开发使之更稳定。
这些是使用Code :: Blocks编译wxWidgets的说明。它们起初用于准备编译Code :: Blocks本身,但也可以是用于编译wxWidgets本身。
虽然这些指令是针对Windows操作系统中,但通过细小的调整可以应用到其他平台,因为我们使用的MinGW的。
内容 |
MinGW的安装
Code :: Blocks安装MinGW教程的可以在这里找到。MinGW的安装
安装wxWidgets的源代码
wxWidgets的3.0.0的发行可以在找到wxWidgets的下载网站 。(请注意,还有一个可WinHelp的文件。)您可以在安装程序和一个压缩文件之间进行选择。你可以只使用zip文件,因为安装程序也是一个压缩版本。
如果使用普通的zip版本,请确保使用完整路径解压。否则,该目录将无法正确创建。
注:对于这些指令其余部分,我们称之为wxWidgets的目录<WXWIN>。你必须将它更改为您相应的目录(如“c:\wxMSW-3.0.0\wxWidgets-3.0.0”)。
注意:您不需要MSYS。此外,你不能有MSYS在你的路径,或者wxWidgets的编译将失败。因此,如果你已经安装MSYS,确保<MSYS> \ BIN是不是在你的路径编译的wxWidgets之前。 wxWidgets的,必须从“常规”命令行(cmd.exe的一样)编译,而不是从一个类似Unix的外壳。可能会出现相同的问题,如果Cygwin的是在路径中。
注:对于这些指令其余部分,我们称之为MinGW的目录<MINGW>。你必须将它更改为您相应的目录(例如“C:\ MinGW的“)。
检查make版本
如果您没有安装MinGW,你必须确保你正在使用的是比较新的版本以便能够正确的编译。打开命令提示符,然后键入:
cd <MINGW>\bin
mingw32-make -v
该版本应该显示为3.80或更高版本。
wxWidgets的构建
改变目录和路径的设置
要编译wxWidgets,打开命令提示符窗口,并切换到wxWidgets目录:
cd /d <WXWIN>\build\msw
SET PATH=<MINGW>\bin
注意: 这通常是 SET PATH=C:\MingGW\bin
清理wxWidgets的代码
现在,清理源码:
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fno-keep-inline-dllexport" clean
注意:请确保您使用的正是这一步,并为下面的生成步骤相同的选项。clean目标使用这些变量,仅清理生成的目标文件和库文件的指定版本。(它不会清除所预期的文件,如果这些变量是不相同的。)
注意:如果您仍然有问题,清洗后进行编译,你可以尝试构建\ MSW目录下手动删除gcc_dll目录。此目录是目标文件的存储位置。
构建wxWidgets的代码
当一切都干净就可以开始编译的wxWidgets:
的mingw32 - 让-F makefile.gcc USE_XRC = 1 SHARED = 1单片= 1 BUILD =释放的UNICODE = 1 USE_OPENGL = 1供应商= CB CXXFLAGS =“-FNO - 保持 - 直列DLLEXPORT”>的log.txt 2>&1
注意:如果你想编译wxWidgets的另一个版本(调试或非Unicode),你仍然要确保你的链接Code :: Blocks的建立一个单片的版本(一个大的DLL)。
耐心。这个步骤需要时间。确保没有任何编译错误,然后再继续。
编译Code :: Blocks
Code :: Blocks项目中使用
不需要任何补丁编译Code :: Blocks的与wxWidgets的3.0,只需使用项目/工作区,文件名 称中的_wx30并调用update30.bat更新的资源。
这并不意味着,一切运行完全无缺陷的,但我们正在努力就可以了。
一如往常,补丁是受欢迎的。
设置路径
最后才编译Code :: Blocks的本身,你需要设置的路径:
- 打开Code :: Blocks的项目(CodeBlocks_wx30.cbp)。
- 它会问你要定义一个全局变量命名为“WX30”
- 将路径设置为在已安装的wxWidgets(如“c:\wxMSW-3.0.0\wxWidgets-3.0.0”)。
- 全局变量cb_release_type设置为“-G”。 (当你输入的文字没有引号是必要的)
- 编译Code :: Blocks的。
注:zip.exe文件应该在你的PATH中,这样他们就可以正确运行后步骤,请参阅1.6 zip.exe约zip.exe一些细节
后编译的步骤
当编译过程完成后,只需运行update30.bat脚本。这将确保所有的资源文件Code :: Blocks的用途是在正确的地方,并及时更新。
参考
- 论坛讨论: 回复:wxWidgets的3.0和Code :: Blocks的文件的问题?
- 从源代码在Windows上安装Code :: Blocks的
- 需要注意的是PCH被禁用Codeblocks_wx30.cbp,因为它会导致GCC建立的错误(在GCC 4.8.x的bug 问题56926 -崩溃(不ICE),而编译升压。数学 ),见这里的讨论:回复:wxWidgets的3.0和Code
:: Blocks的文件的问题? 和修补程序使用MinGW的GCC 4.8.1编译Code :: Blocks的对wxWidgets的3.0
在Code::Blocks中编译和使用wxWidgets3.0.0教程的更多相关文章
- Code Blocks中配置OpenGL方法
关于在Code Blocks中配置OpenGL的方法,在网上一直没有找到实用的方法,后来在马龙师兄的帮助下终于配置成功了,现把配置过程记录如下. (1)下载codeblocks,最好是带mingw的版 ...
- Ubuntu下Code::Blocks无法编译 /bin/sh: 1: g++ not found 解决办法
Linux下Code::Blocks无法编译运行提示 /bin/sh: 1: g++ not found 的解决办法 今天在Ubuntu 12.04 软件中心中选装了Code::Blocks,安装完成 ...
- 关于code::blocks的编译速度问题
在一个程序写好之后,按下F9,便可以进行编译并且运行,在2018年的寒假之中,编译速度一直困扰着我,因为每次编译都需要十秒左右的时间,体验极差.而此前,编译时间一直保持在0 second. 经过我的多 ...
- 如何在 code blocks中使用 mkl库
为了安装caffe, 所以安装了mkl, 现在想在codeblock的项目中使用mkl. 设置mkl环境变量: mkl安装好后默认是在/opt/intel/mkl中,其中/opt/intel/mkl/ ...
- code::blocks配置编译cuda并进行第一个demo的測试
我们先新建个NVCC的编译器. 使用复制GCC编译器的方式进行新建,然后我们进行下面的路径配置 先来看看链接库,将我们常常使用的cuda库链接进来. 然后链接cuda的头文件: 接着配置调试工具以及编 ...
- Code Blocks中配置OpenGL
使用的文件:我的CSDN资源共享 将glut.h文件放到MinGw\include\GL目录下面 将glut32.dll文件放到C:\windows\system32目录下面(如果是64位操作系统的话 ...
- ubuntu中编译安装gcc 9.2.0
一切都和其他源码安装软件是一样的: 一.下载源代码: http://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xz 二.解压文件 tar xvf gcc- ...
- 编译Code::Blocks源码 with MinGW on Win
Build Code::Blocks源码 ---By 狂徒归来 CodeBlocks是一款非常优秀的IDE !可惜的是没有64位的版本,而且本来是轻量级别的IDE就应该够轻,能够像记事本工具一样,迅速 ...
- VC++6.0 IDE的工程用Code::Blocks来打开、编译、调试终极配置方案
本篇文章转自 CSDN blog,转载请注明出处! 原文地址: http://blog.csdn.net/liquanhai/article/details/6618300 引子:竟然可以用Code: ...
随机推荐
- vue源码解读1
前言 vue是一个非常典型的MVVM框架,它的核心功能一是双向数据绑定系统,二是组件化开发系统.那么本文是以一种通俗易懂的的角度来实现一个简单 的双向数据绑定系统,如果你用过vue却对vue的实现原理 ...
- 上传文件,经过Zuul,中文文件名乱码解决办法
转载请标明出处: http://blog.csdn.net/forezp/article/details/77170470 本文出自方志朋的博客 问题描述 在项目中又一个上传文件的oss服务,直接调用 ...
- rabbitmq消息中间件读后感
1:RabbitMQ是一个开源的消息代理和队列服务器,可以通过基本协议在完全不同的应用之间共享数据,使用Erlang语言开发的,是基于AMQP(高级消息队列协议)协议,Erlang主要用于交换机的开发 ...
- POJ 1180 Batch Scheduling (dp,双端队列)
#include <iostream> using namespace std; + ; int S, N; int T[MAX_N], F[MAX_N]; int sum_F[MAX_N ...
- Linux 下文件压缩与解压命令详解
tar 命令 -c 建立压缩档案 -x 解压 -t 查看内容 -r 向压缩归档文件末尾追加文件 -u 更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中 ...
- JS对象和数组在谷歌浏览器中引用存储的表现
大家都知道JS的数据分为基本类型和引用类型.具体什么不说了,今天主要说说对象和数组作为引用类型在谷歌浏览器中的表现. 首先,问题是这么发现的.我在控制台使用console打印了一个数组,然后对数组进行 ...
- 使用CSS3制作首页登录界面实例
响应式设计 在这个页面中,使用下面3点来完成响应式设计 1.最大宽度 .设定了一个 max-width 的最大宽度,以便在大屏幕时兼容.: 2.margin : 30px auto; 使其保持时刻居中 ...
- 微信小程序中无刷新修改
1.点击事件无刷新修改 原理:onload事件中是把这个分类和品牌的列表全部拿出来,拼接成数组的格式,在小程序中遍历的时候就要把小标(index)给绑定到左侧的品牌上,然后js中获取index的值,就 ...
- php file_exists中文路径不存在问题
php的file_exists函数使用中文路径,会显示文件不存在,即使文件已经存在了也会报这个错. 解决方法: <?php $file_name='D://360极速浏览器下载//a.txt'; ...
- html 弹框 优化 alert
<!DOCTYPE html> <html> <head> <title>cs</title> </head> <styl ...