wxWidgets(1) :mac下搭建wxWidgets 3.0 环境

本文原文连接: http://blog.csdn.net/freewebsys/article/details/45643897 转载请注明出处!

1,关于wxWidgets

参考:http://zh.wikipedia.org/wiki/WxWidgets

wxWidgets(Windows and X widgets,最早命名为wxWindows[1])是一个开放源代码且跨平台的对象工具集(widget toolkit),其库可用来创建基本的图形用户接口(GUI)。wxWidgets由Julian Smart于1992年首先开发。

wxWidgets标榜使用其库所开发的软件只需要对源代码做少量更改(或者完全不用更改),就能在各种不同的作业平台上编译并运行。目前可支持Windows、Apple Macintosh、Linux/Unix(转译成X11、GTK+、Motif等库)、OpenVMS、以及OS/2。嵌入式的版本也正在开发中[2]。

库本身使用C++语言开发,但也有其它不同编程语言的绑扎,例如:Python(wxPython)、Lua(wxlua)、Perl(wxPerl)、Ruby(wxRuby)、Smalltalk(wxSmalltalk)、Java(wx4j)、甚至是JavaScript(wxjs)等。

使用wxWidgets开发的软件不需经过诸如虚拟机的技术才能运行,虽然在不同平台可使用相近甚至相同的源代码,但其最终转译并生成的可执行文件是完全基于作业平台的。

另外,wxWidgets不只可以用来创建GUI,它也内置了基于ODBC的数据库函数、进程间通信以及网络socket函数等的支持。

wxWidgets的授权许可证是经过开放源代码促进会认证,其本质等同于GNU宽通用公共许可证(LGPL)。然而一个例外是wxWidgets授权允许修改者以自己的许可证发布。

2,编译安装源代码

我的时mac环境。直接下载代码编译。

https://github.com/wxWidgets/wxWidgets/releases

下载3.02的版本,可惜编译报错,直接下载master的代码编译。

./src/osx/webview_webkit.mm:936:25: error: cannot initialize a variable of type ‘WebBackForwardList *‘ with an rvalue of type
      ‘WKBackForwardList *‘
    WebBackForwardList* history = [m_webView backForwardList];

wxwidgets doesn’t build on Mac OS 10.10

http://trac.wxwidgets.org/ticket/16329#comment:22

3.02是14 年发布的,我的mac更新快,木有跟上(每次受不了更新提示,必须给更新)。

wget https://github.com/wxWidgets/wxWidgets/archive/master.zip
unzip master.zip
cd wxWidgets-master 

查看苹果sdk版本

ls /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
MacOSX10.10.sdk MacOSX10.9.sdk

每个操作系统版本不同sdk号不同。修改编译参数SDKs MacOSX10.10.sdk,然后编译:(编译可漫长了,耐心等待。)

sudo ./configure --with-cocoa --without-subdirs --with-macosx-version-min=10.10 --with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk CXXFLAGS="-stdlib=libc++ -std=c++11" OBJCXXFLAGS="-stdlib=libc++ -std=c++11" CPPFLAGS="-stdlib=libc++" LDFLAGS="-stdlib=libc++" CXX=clang++ CXXCPP="clang++ -E" CC=clang CPP="clang -E" --enable-debug
make
sudo make install

必须增加这些参数,否则在mac下面报错:

/usr/local/include/wx-3.1/wx/strvararg.h|27|fatal error: ‘tr1/type_traits‘ file not found

编译之后可以安装IDE工具了。

3,下载Code::Blocks

http://www.codeblocks.org/downloads

mac直接加压缩就是一个app。直接可以使用。

创建一个新的Demo工程。

选择创建一个wxWidgets工程:

选择wxWidgets版本:

输入项目名称

没有啥,直接下一步下一步即可。

创建完成。进入项目。

3,编译项目

参考:

http://blog.csdn.net/freecamel/article/details/6881852

首先在终端运行:

 wx-config --cxxflags
-I/usr/local/lib/wx/include/osx_cocoa-unicode-3.1 -I/usr/local/include/wx-3.1 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ 

然后将输出内容拷贝到 Settings >> Compiler settings >>Other options

首先在终端运行:

wx-config --libs
-L/usr/local/lib   -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -lwx_osx_cocoau_xrc-3.1 -lwx_osx_cocoau_html-3.1 -lwx_osx_cocoau_qa-3.1 -lwx_osx_cocoau_adv-3.1 -lwx_osx_cocoau_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu_net-3.1 -lwx_baseu-3.1

然后将输出内容拷贝到 Settings >> Linker settings >> Other linker options:

然后点击小齿轮进行编译。点击三角进行运行。

如果报错:

 wx/wxprec.h: No such file or directory,
 wx/setup.h: No such file or directory, 

说明安装上面进行的配置不正确。重新配置complier 和 linker。

4,最终运行效果

总结:wxWidgets 开发跨平台GUI还是非常不错的。同时可以巩固下C++的知识。

5,更多想法

本文原文连接: http://blog.csdn.net/freewebsys/article/details/45643897 转载请注明出处!

wxPython就是针对wxWidget进行封装的。打算做一个golang的封装。使用SWIG,已经支持golang(http://www.swig.org/),直接迁移wxPyton的代码。重新开发一GUI库是不可能的,所有参考wxPython是比较高效的办法,目前只是想法。

时间: 2025-01-13 13:02:55

wxWidgets(1) :mac下搭建wxWidgets 3.0 环境的相关文章

MAC下搭建appium UI自动化环境

参考资料:http://qa.blog.163.com/blog/static/190147002201510161119832/ 一.系统要求: Mac OS X 10.7 或者更高,推荐最新系统 XCode >= 4.6.3,推荐最新系统 Apple Developer Tools (iPhone simulator SDK, command line tools) 二.下载Xcode: 在APPStore自行下载变可 ***在安装XCode7的时候,一定要注意当前OS X的版本是否>=1

Golong语言学习--Mac下搭建go语言开发环境(学习摘抄)

Go语言是Google内部主推的语言,它作为一门全新的静态类型开发语言,与当前的开发语言相比具有许多令人兴奋不已的新特性.专门针对多处理器系统的应用程序编程进行了优化,使用go语言完全可以媲美c.c++的速度,而且更加安全.简洁,支持并行进程. 以下是go语言的主要特性: 1.自动垃圾回收 2.更丰富的内置类型 3.函数多反回值 4.错误处理 5.匿名函数和闭包 6.类型和接口 7.并发编程 8.反射 9.语言交互性 Mac开发环境搭建 以上基本都属废话,搭建开发环境尽快开启编程之旅才是王道,笔

Mac下搭建Eclipse Android开发环境

之前一直是用windows搞android开发,但windows这个性能也真是让人醉了,终于一狠心,砸锅卖铁买了Mac.然后就开始在Mac上搭建android开发环境, 其实也不麻烦,关键是找准下载地址就行了,今天特意记录下来搭建过程,以备其他小伙伴参考和自己以后使用. 一.首先,准备好工具,在这里贴一下本人搜到的下载地址: 1.Java SE 6:https://support.apple.com/kb/DL1572?locale=zh_CN 这里需注意:过高版本可能会导致eclipse打不开

Mac下搭建quick cocos2d-x编译环境

前言 虽然之前已经写过了很多 Cocos2d-x 相关的教程和文档,但本次却是我第一次接触 Quick,第一次接触 Lua,所以此次的教程本人将站在一个初学者的角度(看到这里是不是想白眼我了,哈哈,别切啊!尽管第一次,但我身边可是有很多 Quick 大神的,廖大大也在旁边办公室,没准撒个娇大神就把他知道的全部要点倾囊相授了啦!),全方位的解析 Quick 的学习过程,并同大家一起学习如何利用 Quick-Cocos2d-x 开发一款属于自己的游戏,包教包会的哦. 好了,那么下面我们就开始进入正题

Mac下搭建react native开发环境

安装必需软件 Homebrew Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题.可以使用下面的命令修复: sudo chown -R `whoami` /usr/loca

Mac下搭建go语言开发环境

一.下载安装go 到墙内下载go的安装包: http://www.golangtc.com/download 点击安装包然后进行安装 二.配置 1.查看环境 go version 2.安装完sdk之后接下来便是配置环境变量了,打开终端输入cd ~ 进入用户主目录,之后输入ls -all命令查看是否存在.bash_profile 文件,存在既使用vim .bash_profile打开并编辑该文件.根据自己实际情况,内容如下: export GOPATH=/Users/apple/Documents

Mac下搭建hexo3.0博客

Mac下搭建hexo3.0博客(文章同步自个人博客网站以及Github博客https://xingstarx.github.io/) window环境下搭建hexo博客 具体内容可以参考这一篇文章如何搭建一个独立博客--简明Github Pages与Hexo教程本人博客搭建过程也是参考了上面的部分内容. 安装Node.js和git 安装Node.js 到Node.js网站上下载后缀为pkg的文件,点击安装. 在终端下输入 node -v npm -v 若无错,则显示版本号 本人的信息如下: he

Mac下搭建php开发环境[翻译]

原英文链接:http://www.codeweblog.com/mac-os-x-to-configure-apache-php-mysql/ Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin 配置PHP的MCrypt扩展库 设置虚拟主机 启动Apache 有两种方法: 打开"系统设置偏好(System Preferences)" -&

MAC下搭建PHP/LNMP环境

MAC下搭建PHP/LNMP环境 由于Mac自带的PHP不支持PHP扩展.Mac自带apache不能优雅的install/remove.Mac自带的PHP版本比较陈旧.首先要做的就是升级PHP版本 工欲善其事必先利其器,安装Homebrew what?homebrew是OS X 不可或缺的套件管理器,类似于ubuntu下apt-get,Red hat的yum.传送门 : Homebrew安装简单 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubu