本文原文连接: 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是比较高效的办法,目前只是想法。

wxWidgets(1) :mac下搭建wxWidgets 3.0 环境相关推荐

  1. MAC下搭建java的开发环境

    2019独角兽企业重金招聘Python工程师标准>>> Mac OS X 下搭建 Java 开发环境图解 本篇博客介绍如何在Mac osx系统下搭建java开发环境,有了java的开 ...

  2. Mac下搭建手机APP开发环境(HBuilder X ,HTML5plus Runtime,MUI,springboot)

    本文介绍Mac安装开发环境不包括创建springboot等代码相关,只涉及软件安装以及搭建APP测试环境(hbuilder连接nox). 第一步:下载 夜神手机模拟器 :http://www.pc6. ...

  3. 在mac下搭建java开发环境

    刚刚从windows系统转到使用mac系统,感觉不是特别熟悉,需要一定的适应时间.下面简单介绍一下mac下搭建基本的java开发环境. 1.安装jdk 安装jdk1.7后,发现不需要进行环境变量配置, ...

  4. php环境苹果搭建,mac下搭建php环境

    本文主要和大家分享mac下搭建php环境,最近工作环境切换到Mac,所以以OS X Yosemite(10.10.1)为例,记录一下从零开始安装Mac下LNMP环境的过程 确保系统已经安装xcode, ...

  5. 关于mac下搭建php、apache、mysql环境

    关于mac下搭建php.apache.mysql环境 装置 Mac预装的有Apache和PHP,我们可以直接使用.但是需要自己下载Mysql. Apache 首先,让我们来看一下是怎么开启Apache ...

  6. 在MAC上搭建cordova3.4.0的IOS和android开发环境

    Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的IOS和android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...

  7. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  8. .nwt+core+2.0+mysql_Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

    一.Linux .NET Core简介 一直以来,微软只对自家平台提供.NET支持,这样等于让这个"理论上"可以跨平台的框架在Linux和macOS上的支持只能由第三方项目提供(比 ...

  9. Mac下搭建php开发环境教程

    这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考下 Mac OS X ...

最新文章

  1. scheduled线程池ScheduledExecutorService只执行一次_有个定时任务突然不执行了
  2. Git系列之git log高级命令
  3. PHP家庭账单系统,PHP+SQLite 多用户记账系统.家庭在线记账理财PHP管理系统.
  4. LeetCode.917-只反转字母(Reverse Only Letters)
  5. android学习笔记(入门篇)
  6. iftop 流量监控
  7. SpringHibernate4
  8. 10个经典的哲学小故事
  9. <button>与<input type =“ button” />。使用哪个?
  10. 仪征技师学院计算机,技师学院2019年下半年江苏省大学英语、大学计算机统考工作圆满结束...
  11. linux centos7.9图形界面版本下载_适合在任何地方使用的 Linux:15 个小型 Linux 发行版...
  12. 如何在 Mac 上的 Pages 文稿中查找和替换文本?
  13. [渝粤教育] 岭南师范学院 文学创意写作 参考 资料
  14. 温哥华岛大学计算机科学,温哥华有哪些知名大学排名(温哥华地区大学排名一览)...
  15. 11 Mortal Fibonacci Rabbits
  16. 洛谷 p4234 最小差值生成树
  17. matlab中 不是3和7倍数,从1到100的所有自然数中,不是3也不是7的倍数的数有多少个?...
  18. 我来说说我给宝宝买保险的事
  19. 以水稻为例教你如何使用BSA方法进行遗传定位(上篇)
  20. 视频号引流有哪些方法?学会这几种方法快速吸粉

热门文章

  1. 【python】7-4 p019车牌限号
  2. vos与呼叫中心系统的关系
  3. shader拖尾_插件(一)武器拖尾效果
  4. cocos:MotionStreak拖尾渐隐效果
  5. 项目实训(树莓派)(十四)树莓派4B下的ubuntu系统下的vim的使用
  6. idea 无法加载识别本地类
  7. 《面试官不讲武德》对Java初级程序猿死命摩擦Http协议
  8. PHP语言Web开发ThinkPhp6框架搭建
  9. 【C语言蓝桥杯每日一题】—— 单词分析
  10. Java在手机平台上的Porting