在MacOSX下用cmake编译cocos2dx的笔记

最近项目想用Qt来做cocos2d-x的跨平台编辑器。由于对Qt和OpenGL都是新手,所以想用相对低成本的方法来做,参考了不少项目。发现好多人有用Qt来做cocos2d-x的编辑器的想法,包括cocos2d-x官方,但不知道什么原因,几乎所有的项目都中途流产了。大部分项目使用的是相对较旧的cocos2d-x版本,有些甚至无法编译成功。不过这些项目也给了我不少帮助,参考了很多有价值的信息。

最后,我决定自己做一个QtPort,选用CMake来做项目管理,因为新版的cocos2d-x已经带了CMakeLists.txt,如果直接用Qt的pro/pri/prf等项目文件,那工程量就太大了。

工具

otool

这个工具帮了很大忙,因为使用CMake,所有需要链接的库都需要自己设置。而我不知道需要哪些库,利用otool -L xxx来查看用XCode编译出来的xxx使用了哪些库,也让我顺利把所需的库都加进来。

安装组件

首先要用到的就是HomeBrew了。安装完HomeBrew,就可以用它安装各种东西了。

这里教大家一个小技巧,当编译提示

这里的-l后面就是缺失的库的名字,可以把这个名字直接放到brew install后面进行安装。
如果名字不对的话,也可以使用brew search freetype进行搜索。

问题

  • Spine库的CCSkeleton.cpp文件会编译不过,我们也用不到Spine库,所以暂时不编译它。
  • Audio相关的库编译不过,我在CMakeLists里加了个AUDIO_BUILDoption的选项,也暂时关闭它。
  • 编译lua时遇到了比较大的问题
    • 首先,因为我们禁用了Spine和Audio的编译,但是cocos2dx的tolua代码中,并没有根据这个条件编译进行判断,是否包含这些文件。为了防止使用这些文件出问题,我加了#ifdef来判断,当定义了不要Spine或者Audio时,把相关的lua函数都注册成空函数。
    • 然后是luasocket的问题,cocos2dx官方根本就没有写luasocket的CMakeLists.txt,不过写起来还算顺利,唯一需要注意的是luasocket的wsocket.c和usocket.c,是需要分平台编译的,wsocket.c是针对Win平台写的,usocket.c是针对unix-like系统写的。

关于CMakeLists的代码

好像没有特别需要说明的,基本就是CMake的规则,唯一值得一提的是,MacOSX下面的编译,记得这么做

这样生成的目录结构才会是这样的

最后

最后给出我的项目地址:https://github.com/Jennal/cocos2dx-3.2-qt

[转]在MacOSX下制作icns图标

以下内容转载自:http://www.cocoachina.com/bbs/read.php?tid=113763

步骤1

在任何一个目录下面创建一个文件夹,命名为 [name].iconset 例如 icon.iconset

步骤2

在该文件里面放入以下图片文件,并核对尺寸是否正确

图片名称 尺寸
icon_512x512@2x.png 1024×1024
icon_512x512.png 512×512
icon_256x256@2x.png 512×512
icon_256x256.png 256×256
icon_128x128@2x.png 256×256
icon_128x128.png 128×128
icon_32x32@2x.png 64×64
icon_32x32.png 32×32
icon_16x16@2x.png 32×32
icon_16x16.png 16×16

步骤3

打开终端,在里面输入以下命令

例如:

注:可以先输入iconutil –c icns(后面需带一个空格),再把步骤1所创建的文件夹拖到终端,则会自动把该文件夹的路径添加到刚输入的命令后面。

步骤4

在步骤3后,系统会自动生成[name].icns(icon.icns)文件,将该icns文件导入工程,并设置为Icon即可。

Apple官方原文由此进

Mac OS X快捷键大全

Mac OS X的所有快捷键来了,共计超过200项,俺等Windows快捷键熟手这会儿要改专业了…………

注:以下为系统的默认快捷键。OS X允许用户为不同软件的不同菜单功能自定义快捷键的,大家表浪费了这个好机会哈, 让自己的快捷键清单变得比购物单还长吧。当然,还是那句话,俺懒,改天再译。

通用快捷键

1 Cmd-C Copy files

2 Cmd-V Paste files

3 Option-Drag Copy files to new location

4 Cmd-Drag Move and auto-align icons

5 Cmd-Delete Delete

6 Cmd-Option-Drag Make alias

7 Cmd-Shift-Delete Empty trash

8 Cmd-Shift-Option-Delete Empty trash without warning

9 Tab Select next field

10 Shift-Tab Select previous field

11 Return Perform default action

12 Escape Close dialog box

13 Page Up Scroll up list

14 Up Arrow Select item above

15 Page Down Scroll down list

16 Down Arrow Select item below

17 Cmd-Shift-G Open ‘Go to Folder’ dialog

18 Cmd-Period[.] Close dialog box

Exposé, Space, Dashboard和系统

19 F8 Toggle Space

20 Shift-F8 Toggle Space in slow motion

21 F9 Show all open windows

22 Shift-F9 Show all open windows in slow motion

23 F10 Show all open windows for an application

24 Shift-F10 Show all open windows for an application in slow motion

25 F11 Hide all windows

26 Shift-F11 Hide all windows in slow motion

27 F12 Open/close Dashboard

28 Shift-F12 Slowly open/close Dashboard

29 Option-Mouse Hover Reveal the close button of widget

30 Shift-Click Close Button Animate closing widget in slow motion

31 Cmd-H Hide application

32 Cmd-Option-H Hide other applications

33 Cmd-Q Quit application

34 Cmd-Shift-Q Quit all applications and log out

35 Cmd-Option-Shift-Q Log out without warning

36 Cmd-Tab Switch to next application

37 Cmd-Shift-Tab Switch to previous application

38 Option-Drag Adjust volume (on sound volume slider)

39 Cmd-Drag Arrange menu bar items

40 Option-Click Switch window and hide current window

41 Control-Click Open contextual menu

42 Cmd-Control-D See word definition (with mouse hover)

程序假死

43 Cmd-Period[.] Stop process

44 Cmd-Option-Escape Open Force Quit

45 Power Key Turn off

46 Cmd-Option-Shift-Power Key Force shut down

47 Cmd-Control-Power Key Force restart

全键盘操作

48 Control-F1 Turn on/off full keyboard access

49 Control-F2 Focusing menu bar

50 Control-F3 Focusing Dock

51 Control-F4 Move to next window

52 Control-F5 Move to toolbar

53 Control-F6 Move to a floating window

54 Control-F7 Toggle keyboard access mode

55 Control-F8 Focusing status menu in menu bar

56 Cmd-Accent[] Switch to next window within application

57 Cmd-Shift-Accent[] Switch to previous window within application

58 Cmd-Option-Accent[`] Move to sidebar

59 Cmd-Option-T Toggle on/off character palette

Finder

60 Cmd-Click on Title See the path enclosing folders

61 Cmd-Double-Click (on folder) Open folder in new window

62 Option-Double-Click (on folder) Open folder in new window and close current window

63 Cmd-1 Switch to icon view

64 Cmd-2 Switch to list view

65 Cmd-Option-Right Arrow Expand folder

66 Left Arrow Close folder

67 Cmd-Down Arrow Open selected folder

68 Cmd-Option-Down Arrow Open selected folder in new window and close current folder

69 Cmd-Shift-Option-Down Arrow Open selected folder in new window and close current folder in slow motion

70 Cmd-Up Arrow Show enclosing folder

71 Cmd-Option-Up Arrow Show enclosing folder and close current folder

72 Cmd-3 Switch to column view

73 Cmd-4 Switch to coverflow view

74 Cmd-Y Toggle Quick Look mode

75 Cmd-Option-Y Toggle Slideshow mode

76 Cmd-Shift-H Open home folder

77 Cmd-Option-Shift-Up Arrow Move focus to Desktop

78 Cmd-Shift-I Open iDisk

79 Cmd-Shift-D Open Desktop

80 Cmd-Shift-C Open Computer area

81 Cmd-Shift-K Open Network

82 Cmd-Shift-A Open Applications

83 Double-Click on Title Minimize window

84 Cmd-M Minimize window

85 Option-Click on button Apply action to all windows in active application

86 Hold-Scroll Bar Scroll quickly

搜索: Spotlight

87 Cmd-Spacebar Activate/deactivate Spotlight

88 Cmd-Option-Spacebar Open Spotlight window

89 Cmd-Return Open the top hit

90 Cmd-Down Arrow Move to next category

91 Cmd-Up Arrow Move to previous category

92 Cmd-Click Open selected item in Finder

93 Escape Close Spotlight

实用工具:抓图

94 Cmd-Shift-3 Take snapshot of the whole screen

95 Cmd-Shift-4 Take snapshot of the selected area

96 Cmd-Shift-4-Spacebar Take picture of a window

97 Escape Cancel

98 Hold Spacebar after Drawing the region Move the selected area

99 Hold Option Resize selected area

100 Hold Shift Resize selected area horizontally or vertically

应用程序: Dock

101 Drag the separator Resize Dock

102 Option-Drag Resize Dock to fixed size

103 Control-Click Show Dock’s contextual menu

104 Control-Click on icon Show item’s contextual menu

105 Cmd-Click Open the icon’s enclosing folder

106 Option-Click Switch to another and hide current application

107 Cmd-Option-Click Switch to another application and hide all other applications

108 Cmd-Option-Drop Force application to open files

109 Cmd-Option-D Hide/unhide Dock

偏好设置: 万能辅助

110 Cmd-Option-8 Turn zoom on/off

111 Cmd-Option-Equal[=] Zoom in

112 Control-Scroll Up Zoom in

113 Cmd-Option-Hyphen[-] Zoom out

114 Control-Scroll Down Zoom out

115 Cmd-Option-Control-8 Invert color (try this on those iMacs in Apple Store)

116 Control-Option-Cmd-Comma[,] Reduce contrast

117 Control-Option-Cmd-Period[.] Increase contrast

118 Cmd-F5 Toggle VoiceOver

119 Shift-Shift-Shift-Shift-Shift (5 times) Toggle Sticky Keys

120 Option-Option-Option-Option-Option (5 times) Toggle mouse keys

开机: 启动

These shortcuts only available during start up.

121 Shift Prevent automatic login

122 Shift Enter safe mode (hold down after startup tone and release after you see the progress indicator)

123 Shift Prevent opening Login Items (after login)

124 C Boot from CD

125 N Boot from default NetBook disk

126 T Start up in Target Disk Mode

127 Option Select startup disk

128 Cmd-X Start up using Mac OS X

129 Hold Mouse Button Eject removable discs

130 Cmd-Option-P-R Reset parameter RAM

131 Cmd-V Verbose mode (detailed status message)

132 Cmd-S Single user mode

浏览器: Safari

133 Cmd-Option-F Move to Google Search Box

134 Option-Up Arrow Scroll Up

135 Option-Down Arrow Scroll Down

136 Cmd-Click Link Open in new tab and stay in current tab

137 Cmd-Shift-Click Link Open and go to new tab

138 Cmd-Option-Click Link Open in new window

139 Option-Click Close Button Close other tabs

140 Cmd-Shift-] Select next tab

141 Cmd-Shift-[ Select previous tab

142 Cmd-Shift-H Go to homepage

143 Cmd-Shift-K Toggle Block Pop-up Windows

144 Cmd-Option-E Empty Cache

145 Cmd-Option-R Reload page without Caching

146 Cmd-F Search term in webpage

147 Cmd-M Minimize Safari

148 Shift-Click Button Animate slow motion effect

149 Cmd-Plus[+] Increase font size

150 Cmd-Hyphen[-] Reduce font size

151 Cmd-0 Original font size

音乐: iTunes

152 Return/Space Play

153 Option-Right Arrow Select next album

154 Option-Left Arrow Select previous album

155 Cmd-Right Arrow Play next song

156 Cmd-Left Arrow Play previous song

157 Option-Click on Shuffle Button Reshuffle

158 Cmd-Option-Down Arrow Mute

159 Cmd-E Eject CD

160 Cmd-T Turn on/off visualizer

161 Cmd-F Turn on/off full screen mode

162 Cmd-1 View iTunes window

163 Cmd-2 View equalizer mode

终端

164 Double-Click Select word

165 Triple-Click Select line

166 Drag item to Terminal Add the complete path to that item

167 Cmd-N Create new shell window

168 Cmd-Shift-N Enter new command

169 Cmd-Shift-K Connect to a server

170 Cmd-Option-S Save text

171 Cmd-Option-Shift-S Save selected text

172 Cmd-I Show terminal inspector

173 Cmd-T Create new tab

174 Control-C Break

Mail: 随时随地的沟通

175 Cmd-N New message

176 Cmd-Shift-N Get new mail

177 Cmd-Option-N Open new viewer window

178 Cmd-0 Open activity window

179 Cmd-Shift-Y Add senders to address book

180 Cmd-E Use selected text to find

181 Cmd-C while selecting message Copy entire text of a message

182 Cmd-Click on upper-right corner toolbar button Switch different toolbar display

183 Cmd-Single Quote[‘] Increase quote level

184 Cmd-Option-Single Quote[‘] Decrease quote level

185 Cmd-Shift-E Redirect message

186 Cmd-Shift-F Forward message

187 Hold Option when deleting message Prevent next message from being automatically marked as read

188 Cmd-Shift-R Reply to all

189 Cmd-Shift-B Bounce to sender

190 Cmd-Shift-T Convert message to rich text or plain text

191 Cmd-Left Brace[{] Align left

192 Cmd-Vertical Bar[|] Align center

193 Cmd-Right Brace[}] Align right

194 Cmd-Colon[:] Check spelling

195 Cmd-Semicolon[;] Flag misspelling of selected word

Front Row

196 Cmd-Esc Open/close Front Row or return to previous menu

197 Spacebar, Return Select item in a menu

198 Up Arrow, Down Arrow Change volume

199 Right Arrow, Left Arrow Go to next or previous selection

地址簿

200 Cmd-1 View card and columns

201 Cmd-2 View only card

202 Cmd-3 View directories

203 Cmd-Right Bracket[‘]’] Next card

204 Cmd-Left Bracker[‘[‘] Previous card

205 Cmd-Vertical Line[|] Merge selected cards

206 Cmd-Backslash[\] Set as company card

绘图软件: Adobe Photoshop

207 Cmd-Shift-M Edit in ImageReady

208 Cmd-Option-W Close all

209 Cmd-Option-S Save as

210 Cmd-Option-Shift-S Save for Web

211 Cmd-Option-Shift-I File info

212 Cmd-Option-P Print with Preview

213 Cmd-Option-Shift-P Print one copy

214 Cmd-Shift-F Fade

215 Cmd-Shift-C Copy merged

216 Cmd-Shift-V Paste into

217 Shift-F5 Fill with color

218 Cmd-Shift-T Transform Again

219 Cmd-Option-Shift-K Show keyboard shortcuts

220 Cmd-L Adjust levels

221 Cmd-M Adjust curves

222 Cmd-B Adjust color balance

223 Cmd-U Adjust hue/saturation

224 Cmd-Option-C Change canvas size

225 Cmd-Shift-N Create new layer

226 Cmd-J Layer via copy

227 Cmd-Shift-J Layer via cut

228 Cmd-Option-G Create/release clipping mask

229 Cmd-G Group layers

230 Cmd-Shift-E Merge visible

231 Cmd-Shift-I Select inverse

232 Cmd-Option-A Select all layers

233 Shift-F6 Select feather (Cmd-Option-D has been assigned to hide Dock)

234 Cmd-Option-V Filter vanishing point

235 Cmd-Plus[+] Zoom in

236 Cmd-0 Fit on screen

237 Cmd-Option-0 Display actual pixels

238 Cmd-Single Quote[‘] Show grid

239 Cmd-Semicolon[;] Show guides

240 Cmd-R Show rulers

以上内容转自:

Leon的大杂烩

http://leondepro.blogbus.com/logs/15787608.html

只是我找到的最全,整理得最好的快捷键列表了,分享一下。
附上官方的快捷键大全:http://support.apple.com/kb/HT1343?viewlocale=zh_CN&locale=zh_CN

准备体验苹果的人必须知道的十件事

已经使用Leopard一个星期,是越来越喜欢OS X,而且越来越习惯OS X了。想起半年前真正尝试OS X时的激动和Windows常年养成的习惯造成的不适应,还是历历在目。经过了这么长时间,只想说一句:OS X是所有懒人都值得享受的系统。

不过,并不是谁都能一下子适应OS X的,俺也不例外。骑单车多年,一下子开上法拉利,肯定不会习惯……如果你是长期的windows用户,又想凑凑热闹用用传说中极度骚包的OS X系统,那就得先知道十件事:

1. OS X 就像OS X

费力装点操作系统的日子结束了。当你启动你的Mac 的那一刻起,你也许会直奔系统预置去了解你能怎样摆弄它。也许你会去试着调整界面风格吧。不过无论你如何努力,你都无法把Mac OS X 弄成宇宙飞船控制台的样子。我并不是说绝对不能,我只说这很不容易。

你发现在Mac OS X 下,不能像Windows XP 下那样使用WindowBlinds 为Mac OS X 换皮肤。某种意义上来说,是的。因为大多数Mac OS X 用户没有这样的需求。常态的Mac OS X 观感已经很赏心悦目了。看看那些成群结队把Windows 费尽心思的打扮成Mac OS X 的人们吧。现在,你又认为有多少用户想要把Mac OS X 打扮成Windows XP或者Vista的样子?

但是万一,仅仅是万一,你还是想让Mac OS X 看上去像宇宙飞船?那么,试试ShapeShifter 这个软件吧。

2. 你不需要杀毒软件

你不需要杀毒软件或者间谍/广告软件清除工具… 至少到目前为止。眼下,那些程序对Mac 用户而言仍然毫无意义。

现实情况是,现在的Mac 用户仍然生活在一个没有间谍软件、广告软件和病毒的世界里。这真是个伟大的解放。如果你使用的是Mac,那就勇敢的在网上冲浪吧(即使那些黑暗的角落),没有一个不速之客能敲开你的机器… 至少到目前为止。

Wil Shipley 精辟的概括了这一点:“我已经厌倦了听人们说Mac OS X’几乎’没有病毒。事实证明,Mac OS X 下完全没有病毒。Mac 并不神奇,总有一天也会遭到病毒的感染。但至少我不认为这已经成为现实,我想现在我们仍可以自豪的说,’是的,我们没有病毒’。”

3. 不同的鼠标手感

鼠标是你和你的Mac 交互的根本途径。鼠标定位,也就是鼠标的移动如何影响屏幕上光标的位置,在Mac OS X 下不只是变得缓慢。这令Windows 用户感到惊异——就像在泥浆中滑动鼠标。大多数Mac用户拒绝承认Mac OS X 的鼠标定位与Windows XP 有任何不同。但作为一个曾经用过Windows 得人,我感受到了其中的差别。如果你是Windows 的长期用户,你可能也会注意到这一点。

我曾花了一个月的时间来尝试习惯我的Apple Pro Mouse。不幸,最终我在eBay上卖掉了我的Pro Mouse 并且购进了Microsoft 的光学鼠标来代替。可新的鼠标也没能解决问题。问题的关键不在于鼠标而是Mac OS X 如何诠释鼠标的移动。这并非错误,而仅仅是个差异,但确实会令转用Mac OS X 做设计或者打游戏的用户感到不适。

解决方法是靠 Microsoft’s Mouse Preferences 这个在Microsoft 网站上可供下载的软件,它可以让你关闭Mac OS X 的鼠标定位。它不只改变了鼠标指向的速度,更改善了鼠标指向的手感。如果你像我一样无法习惯Mac OS X 的鼠标定位,这就是你要的。

说到鼠标,Mac OS X 生来就加入了右键和滚轮的支持。我还是不明白Apple 为何直到去年还在制造单键鼠标。他们有他们的理由吧。

4. 我们大都用Safari

如果你是个网虫,你也许在用Firefox(你已经不再用IE了,对吧?)但是如果你用Mac,我很相信你用的是Safari。为什么用Safari?诚实的说,我也不知道。也许和大多数Windows 用户用IE的理由一样吧,Safari 是预装的。

Safari 阻挡弹出窗口,内建RSS 阅读器,能够快速准确地显示大多数的网页。同时,我猜Mac 用户也不会喜欢Firefox 丑陋的表单和按钮。

当然,Firefox 快速并且有良好的扩展性(我喜欢Firefox 的插件比如Greasemonkey 和Platypus 等等),但是Safari 也是对标准兼容性最好的浏览器之一。而且,有漂亮的按钮。

5. 安装、移动和卸载应用程序

安装大多数的应用程序,你只需把他们拖放到你想要的地方。

安装后想要移动应用程序?尽情移动吧。没问题。

卸载应用程序也只需把他们拖进废纸篓。对于PC用户,这貌似是个可怕的想法。在Mac OS X 下,被删除的程序会留下些什么?通常不过是一两个无害的配置文件而已。

为什么卸载应用程序只要把可执行文件丢到废纸篓?Mac OS X 的应用程序看上去很清爽,是因为那些难看的部分都被打包隐藏了。Mac OS X 的应用程序其实是种特殊的文件夹。要查看应用程序里面的内容,右击并选择显示包内容即可。

6. OS X没有磁盘碎片整理工具

Mac OS X 从10.3 开始就会自动的整理每一个你访问的小于20MB的文件。这样一来,由于这些隐藏的内建过程,整理磁盘碎片就不再需要了。当然你也可以不相信我。

7. 系统看上去不正常?修理磁盘权限吧

文件打不开?程序不运行?安装不工作?系统变慢了?是时候修理权限了。修理磁盘权限是个无害无破坏性的工作,应该定期进行以保持系统的正常运作。

Mac OS X 基于Unix,所以非常依赖于文件权限。有时候文件权限变得混乱因为文件的位置改变或者安装时被设定了错误的权限。一个你应该能读写的文件不再允许访问。一个你原本能运行的程序不再工作。在这些情况下,文件权限也许需要重置到默认值——一个简单快速的过程。打开位于应用程序>实用程序下的磁盘工具,选择你的硬盘或者分区,然后点击修理磁盘权限。

8. OS X并不完美

应用程序在Mac OS X 下一样会崩溃。事实上,几乎跟Windows 应用程序一样容易崩溃。幸好只在极少数情形下程序崩溃并令系统宕机。如果一个程序无响应,你会看到一个一直旋转不停的彩球,这被称作The Spinning Beach Ball of Death。

如果你不幸看到了SBBOD,你需要强制退出程序。你有三个选择:等待。右击dock 上的此程序选择强制退出。还不奏效的话,你需要按下Mac 版的Ctrl-Alt-Del:Command-Option-Escape。可别搞错了。

注:SBBOD 实际上意味着你当前程序的主线程处于忙的状态,暂时没有办法响应用户的键盘、鼠标事件。我个人认为这样的情况通常是因为程序架构不好所造成的。

9. 你会犯错

Dan Warne 综合了TUAW 最近的一篇文章下的回应列出了新Mac用户常犯的错误。比如:

* 试图用CTRL 而不是CMD 组合快捷键

* 以为绿色的“+”按钮会将窗口最大化到全屏

* 关掉应用程序窗口,就以为关闭了它

* 双击窗口以最大化,结果却发现最小化到了Dock 上

10. 是的,Mac 是种信仰。欢迎加入MacWorld

上文是从Macx.cn挖来的,原文是个重度Mac患者……不过,俺也是重度的Mac患者了,所以对上述这些可能被某些Windows用户认为很“白痴”的观点表示非常赞同。毕竟,Windows太让人努力学电脑了,俺需要一个不需要钻研就能安心使用安心工作的“白痴”也能享受的系统。

08年1月6日凌晨3:30,Leopard下虚拟XP所发

以上内容转自:

Leon的大杂烩

http://leondepro.blogbus.com/logs/15787608.html

作为一个冒名果粉,终于当上了Mac患者,我自豪。特转此文,以示众人。