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是比较高效的办法,目前只是想法。

时间: 2024-10-29 05:43:45

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

Mac下搭建github+jekyll写作环境

之前有在公共博客或是专业的技术博客上写写文章.笔记.后来由于从事安全相关行业,转而把一些工作中的总结.笔记记录在了OneNote上,纯离线不对外开放.但这种转换导致文章产出率很低,常常半年写不了一篇文章.为了能够督促自己将技术或是生活点滴记录下来,寻找一种使用Markdown语法,干净整洁的写作环境:github+jekyll,这正是我想要的. 升级Command Line Tools 由于刚升级了"优圣美地",需要安装一下Command Line Tools,安装jekyll需要.

如何在mac下搭建云服务器?

问题描述 如何在mac下搭建云服务器? 最近学习了android,想自己搭建个云服务器,在mac用什么程序搭建比较好?mac怎么连接云服务器也不是很清楚.或者是推荐看看什么书? 解决方案 http://www.cnblogs.com/wx1993/p/5022670.html

怎么在Eclipse下搭建Heritrix-1.14.0?

问题描述 怎么在Eclipse下搭建Heritrix-1.14.0! 解决方案 怎么在Eclipse下搭建Heritrix-1.14.01.在Eclipse下新建一个Java工程,命名Heritrix2.将heritrix-1.14.0-src文件解压,在src->java文件夹下将com,org,st文件夹拷贝到工程的src目录下3.将src->conf文件夹下的effective_tld_names.dat,heritrix.cacerts,heritrix.properties,jmxr

《C语言编程魔法书:基于C11标准》——3.2 macOS系统下搭建C语言编程环境

3.2 macOS系统下搭建C语言编程环境 macOS系统也不默认自带C语言编译器.然而,用户可以自己去Mac App Store免费下载macOS下的强大开发工具--Xcode.该集成开发工具采用Apple定制版本的Clang编译器,称为Apple LLVM编译器.它自带C.C++.Objective-C以及Apple自己新推出的Swift编程语言编译器,还有一系列功能强大的代码静态分析以及性能剖析工具. 下载完Xcode之后,把它打开.如果是第一次启动,Xcode会自动更新一些资源,完了之后

Linux服务器下搭建hadoop集群环境 redhat5/Ubuntu 12.04

Ubuntu 12.04 下搭建 hadoop 集群环境步骤 一. 搭建环境前的准备: 我的本机Ubuntu 12.04 32bit作为maser,就是上篇hadoop单机版环境搭建时用的那台机子,http://www.linuxidc.com/Linux/2013-01/78112.htm 还在KVM中虚拟了4台机子,分别起名为: son-1        (ubuntu 12.04 32bit),son-2        (ubuntu 12.04 32bit),son-3        (

《C语言编程魔法书:基于C11标准》——第3章 C语言编程的环境搭建3.1 Windows操作系统下搭建C语言编程环境

第3章 C语言编程的环境搭建 我们在第2章讲述了学习C语言所必需的一些预备知识.本章将给大家介绍常用桌面操作系统下的C语言环境搭建.这里所讲述的C语言编译器以及集成开发环境(IDE)都是可合法免费下载的,本书不鼓励各位使用盗版或破解软件,所以下面会列出下载这些合法免费软件的官方链接,大家把编程环境搭建完之后即可上机实践编程. 3.1 Windows操作系统下搭建C语言编程环境 Windows操作系统下默认不自带任何C语言编译器,大家必须从网上下载自己所需要的C语言编译器.如果各位想通过C语言开发

windows7下搭建hadoop集群环境

问题描述 有人会在win7下搭建hadoop集群环境吗?我急需要搭建,有会的帮帮忙吧,我整了两天了没弄出来,着急死了!cygwin安装完运行sshlocalhost出现这种错误,是怎么回事啊? 解决方案 解决方案二:我是真心不会,帮顶吧,有份资料可以参考下,去搜"王家林hadoop".解决方案三:楼上的问题解决了吗?我跟你遇到了完全相同的问题~跪求答案

cygwin在win7下搭建hadoop集群环境

问题描述 江湖救急!!有人会在win7下搭建hadoop集群环境吗?我急需要搭建!cygwin安装完运行sshlocalhost出错!

Mac 下搭建Android开发环境

1.Java运行时: 在bash终端中输入java,如果没有安装java运行时会自动弹出一个Dialog提示是否安装,点击安装即可. 2.Eclipse + ADT + SDK: 在Mac下好像不需要下载Eclipse,又或者是现在Google专门打包定制了开发环境,反正只需要到:http://developer.android.com/sdk/index.html#download下载集成包即可.顺便白一句,在Mac下打开android.com明显快很多,没理由啊-- 无需单独下载Eclips