Xcode開發環境搭建
從我們官網下載“ MxDraw6.0iOs(20160923)TryVersion.exe
”文件是個windows的rar自解壓縮包,在Windows系統上,雙擊它解壓,得到所有例子文件,開發庫文件,如下:
把解壓的目錄,拷到MAC電腦上。
運行Xcode軟件,打開控件例子, SRC\MxDraw6.0\Ios\Test\Test.xcodeproj
,如:
目前控件提供的開發包,只有真機運行的開發庫,所以需要在MAC電腦
上,連接iPhone手機,然后選擇它,點運行即可。
運行Xcode軟件,點新建工程,如下:
點擊:“ Next
”按鈕,輸入工程名MyTest,然后“Next”
工程路徑選擇控件安裝目錄下的Ios目錄:
點擊 Create
創建工程完成。
設置 Other Linker Flags
增加連接設置 ,如下:
-lsisl -lTD_Alloc -lTD_Root -lTD_DbRoot -lTD_Db -lTD_Ge -lTD_Gs -lTD_Gi -lTD_SpatialIndex -lTD_ExamplesCommon -lRecomputeDimBlock -lRasterProcessor -lModelerGeometry -lModelerCommands -lRxRasterServices -lTD_Br -lTD_BrepRenderer -lTD_AcisBuilder -lTD_PdfExport -lTD_PDFToolkit -lstsflib -lqpdf -lsisl -lpcre
如下抓圖:
設置 Library Search Paths
庫文件搜索路徑,如下:
$(SRCROOT)/../../../3rdparty/ODA/lib/iphone | |
$(SRCROOT)/../../../MxDraw6.0/prebuilt/iphone/release |
如下抓圖:
設置 User Header Search Paths
頭文件搜索路徑 ,如下:
$(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d | |
$(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/cocos | |
$(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/external | |
$(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/cocos/platform | |
$(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/cocos/platform/ios | |
$(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/cocos/editor-support | |
$(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/external/glfw3/include/mac | |
$(SRCROOT)/../../MxInc |
如下抓圖:
設置C語庫使用:
設置C++庫使用:
設置 C++語言宏定義:
Debug定義:
DEBUG=1 $(inherited) CC_TARGET_OS_IPHONE USE_FILE32API COCOS2D_DEBUG=1 | |
CC_ENABLE_CHIPMUNK_INTEGRATION=1 _MX_MACOSX _MXDRAW_SUPPORT_DWG |
Release定義:
CC_TARGET_OS_IPHONE USE_FILE32API COCOS2D_DEBUG=0 | |
CC_ENABLE_CHIPMUNK_INTEGRATION=1 _MX_MACOSX _MXDRAW_SUPPORT_DWG |
如下抓圖:
禁用Bitcode:
增加連需要庫文件,在 SRC\MxDraw6.0\prebuilt\iphone\release
目錄下,
libcocos2d iOS.a libMxArx60iOS.a libMxBase60iOs.a libMxBaseEx60iOs.a | |
libMxDraw60iOS.a libMxDwg60iOS.a libMxFile60iOS.a libMxGe60iOS.a | |
libMxKernel60iOS.a libMxPlatform60 IOS.a |
如下圖:
拷貝 SRC\MxDraw6.0\Ios\Test\fonts
目錄,到 SRC\MxDraw6.0\Ios\MyTest\fonts
。
拷貝 SRC\MxDraw6.0\Ios\Test\mxdrawui
目錄,到 SRC\MxDraw6.0\Ios\MyTest\mxdrawui
。
把font目錄和mxdrawui目錄當前資源增加 Xcode工程中,如下:
拷貝 SRC\MxDraw6.0\Ios\Test\Test\code
目錄,到 SRC\MxDraw6.0\Ios\MyTest\MyTest\code
目錄。
在工程上,鼠標右鍵,在彈出菜單 上,點擊“Add Files to "MyTest"”,把code下的文件增加到當前工程,如下:
把文件ViewController.m改名為ViewController.mm,並在Xcode工程中,刪除ViewController.m文件的引用,然后增加ViewController.mm。
禁用新增加的ARC功能,使用 -fno-objc-arc
標志,如下:
在新建的工程 UI增加一個按鈕,並在按鈕事件響應里調用如下代碼,顯示MxCAD:
修改ViewController.mm文件:
RootViewController* viewController = nullptr; | |
CCEAGLView *eaglView = nullptr; | |
static MxAppDelegate s_sharedApplication; |
在按鈕點擊事件里,顯示 MxCAD代碼:
- (IBAction)click:(UIButton *)sender { | |
if(viewController == nullptr) | |
{ | |
cocos2d::Application *app = cocos2d::Application::getInstance(); | |
s_sharedApplication.InitMxProtocol(); | |
app->initGLContextAttrs(); | |
cocos2d::GLViewImpl::convertAttrs(); | |
eaglView = [CCEAGLView viewWithFrame: [UIScreen mainScreen].bounds | |
pixelFormat: (NSString*)cocos2d::GLViewImpl::_pixelFormat | |
depthFormat: cocos2d::GLViewImpl::_depthFormat | |
preserveBackbuffer: NO | |
sharegroup: nil | |
multiSampling: NO | |
numberOfSamples: 4 ]; | |
[eaglView setMultipleTouchEnabled:YES]; | |
viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil]; | |
viewController.wantsFullScreenLayout = YES; | |
viewController.view = eaglView; | |
cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView(eaglView); | |
cocos2d::Director::getInstance()->setOpenGLView(glview); | |
app->run(); | |
cocos2d::Director::getInstance()->getEventDispatcher()->addCustomEventListener("returnCAD", [=](cocos2d::EventCustom* eve) | |
{ | |
//call you return ; | |
[self present]; | |
}); | |
} | |
[self presentViewController:viewController animated:YES completion:nil]; | |
} |
所有工作已經完成,再在可以編譯運行了。