在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: ...
随机推荐
- Java 的 FileFilter文件过滤,readline读行操作
package com.cjonline.foundation.evisa; import java.io.BufferedReader; import java.io.File; import ja ...
- Spring8中lambda表达式的学习(Function接口、BiFunction接口、Consumer接口)
代码重构,为了确保功能的等效性,梳理代码时,发现如下代码: public SingleRespTTO fundI(SingleReqTTO request) throws Exception { re ...
- Linux 下的多线程编程(1)
#include<stdio.h> #include<pthread.h> #include<string.h> #include<sys/time.h> ...
- SpringBoot非官方教程 | 第八篇:springboot整合mongodb
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot8-mongodb/ 本文出自方志朋的博客 这篇文 ...
- Dubbo源码分析之ExtensionLoader加载过程解析
ExtensionLoader加载机制阅读: Dubbo的类加载机制是模仿jdk的spi加载机制: Jdk的SPI扩展加载机制:约定是当服务的提供者每增加一个接口的实现类时,需要在jar包的META ...
- Hibernate学习第一天
Hibernate框架第一天 今天任务 1. 使用Hibernate框架完成对客户的增删改查的操作 教学导航 1. 能够说出Hibernate的执行流程 2. 能够独立使用Hibernate框架完成增 ...
- idea常用技巧
1.如何设置,使IntelliJ IDEA智能提示忽略大小写 打开设置(CTRL+ALT+S)搜索editor,找到“Code Completion”->点击Case sensitive com ...
- iOS之Xcode自动管理证书、打包adhoc和testFlight测试安装
引言:Xcode8 之后引用Automatic manage signing .对于开发者而言,在证书上栽的坑肯定不少. 准备:1.开发者账号是必须的吧. 2. Xcode设置account (不给 ...
- iOS之UITextField输入错误的震动动画
//左右震动效果 - (void)shake:(UIView *)view { CGRect frame = view.frame; CAKeyframeAnimation *shakeAnimati ...
- Redis学习推荐
Redis快速入门 https://www.yiibai.com/redis/redis_quick_guide.html Redis用途和使用场景 https://blog.csdn.net/wei ...