Build好wxWidget之后是最麻烦的XCode project:
有两个方法,一个是用wxWidget提供的xcconfig文件,一个是自己修改xcode project手工把那些参数和链接库补上去。这里讲一下用增加.xcconfig文件方式来修改xcode project参数的方法:
1. 用XCode的New Project生成Cocoa Application类型的App 项目样板文件
2. 清除所有无用的引用和文件,包括framework引用和源代码文件
3. 把Project –>Valid Architectures 改为 x86_64(我前面Configure时只生成了64位版本,根据你自己的情况改)
4. Target->Apple LLVM 5.1- Language ->Prefix Header内容清除
5. 生成wxcocoa.xcconfig文件。将下面内容保存为wxcocoa.xcconfig文件并添加到project里(由于wxWidget里提供的xcconfig有些小问题的,另外它可能是因为自动生成的缘故,分成了5个文件,不爽。所以我干脆修改后把多个xconfig文件合并成了一个), 注意要修改前两行的路径指向你自己存放的wxWidget代码目录.
WXROOT = /Users/rayman/source/wxWidgets-3.0.0
WXLIBINCLUDE= $(WXROOT)/build-osx/lib/wx/include/osx_cocoa-unicode-static-3.0
WXTOOLKIT = cocoa
WXTOOLKITUPPER = COCOA
WXPLATFORM = __WXOSX_$(WXTOOLKITUPPER)__
PRODUCT_NAME = wx_osx_$(WXTOOLKIT)
DYLIB_COMPATIBILITY_VERSION = 3.0
DYLIB_CURRENT_VERSION = 3.0.0
OTHER_CFLAGS = -Wall -Wundef -fno-strict-aliasing -fno-common -fvisibility=hidden
OTHER_CPLUSPLUSFLAGS = $(OTHER_CFLAGS) -fvisibility-inlines-hidden
GCC_PREFIX_HEADER = $(WXROOT)/include/wx/wxprec.h
GCC_PRECOMPILE_PREFIX_HEADER = YES
LIBRARY_SEARCH_PATHS= "$(WXROOT)/build-osx/lib"
USER_HEADER_SEARCH_PATHS = "$(WXLIBINCLUDE)" "$(WXROOT)/include" "$(WXROOT)/src/jpeg" "$(WXROOT)/src/png" "$(WXROOT)/src/regex" "$(WXROOT)/src/expat/lib" "$(WXROOT)/src/tiff/libtiff" "$(WXROOT)/src/stc/scintilla/src" "$(WXROOT)/src/stc/scintilla/include" "$(WXROOT)/src/stc/scintilla/lexlib"
ALWAYS_SEARCH_USER_PATHS = NO
GCC_PREPROCESSOR_DEFINITIONS = $(WX_PREPROCESSOR_DEFINITIONS) WXBUILDING $(WXPLATFORM) __WX__ wxUSE_BASE=1 _FILE_OFFSET_BITS=64 _LARGE_FILES MACOS_CLASSIC __WXMAC_XCODE__=1 SCI_LEXER WX_PRECOMP=1 wxUSE_UNICODE_UTF8=0 wxUSE_UNICODE_WCHAR=1 wxDEBUG_LEVEL=0 __WXMAC__ __WXOSX__ __WXOSX_COCOA__
GCC_PFE_FILE_C_DIALECTS = c++ objective-c++
GCC_C_LANGUAGE_STANDARD = gnu99
MACOSX_DEPLOYMENT_TARGET = 10.7
ARCHS = i386 x86_64
OTHER_LDFLAGS = -framework WebKit -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework OpenGL -framework QTKit -lwx_baseu-3.0 -lwxregexu-3.0 -lwxtiff-3.0 -lwxjpeg-3.0 -lwxpng-3.0 -lz -lpthread -liconv -llzma -lwx_osx_cocoau_core-3.0 -lwx_osx_cocoau_qa-3.0
如果你的configure参数和我样板里的不一样,有可能需要根据你的配置修改相关的编译参数。可以在你指定的build目录里(我前面的样板是wxWidgets-3.0.0/build-osx)下运行: ./wx-config --cxxflags –libs 来查看编译时的参数。
样板项目文件可以从这里下载:
http://mdict.cn/download/HelloWorld.zip
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/110795
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.