02 集成SDL(QT + iOS)

一、 QT集成SDL

 

能成功打印版本号,即SDL集成成功

 

  二、iOS集成SDL2

1、下载
SDL源代码可以到SDL官网下载SDL2.0,如下图

                                    SDL2下载.png

2、编译下载好后,解压,在Xcode-iOS目录下打开SDL文件里SDL项目,分别选择模拟器和真机build,生成真机和模拟器的.a库,在products目录下右键libSDL2.a,show in finder显示如下图,Debug-iphoneos和Debug-iphonesimulator下各有一个libSDL2.a. 

      2.1 打开项目

    

      2.2 选择真机静态库

      

      2.3  选择模拟器静态库

      

      2.4 show in finder

      

      2.5 合并

       把模拟器和真机的静态库包进行合并,终端的指令如下:

  lipo -create 真机build生成的.a文件路径 模拟器build生成的.a文件路径 -output 合并后的路径/合并后的文件名

Lipo -create

/Users/aubrey/Library/Developer/Xcode/DerivedData/SDL2test-fpmcvxogqzgqzyaxzmhkrehgerqy/Build/Products/Release-iphoneos/libSDL2test.a 

/Users/aubrey/Library/Developer/Xcode/DerivedData/SDL2test-fpmcvxogqzgqzyaxzmhkrehgerqy/Build/Products/Release-iphonesimulator/libSDL2test.a 

-output /Users/aubrey/Desktop/libSDL2.a

      2.5.1  如果出现报错

       

     【解决的办法】

      就是:

        ①在打模拟机静态库的时候,在build seting中,对于排除掉的架构,添加上arm64 ,

        ②在打真机包的时候,不需要排除任何架构,不然,会导出来的静态库,无法在64位的真机中运行 

        所以 ,目前在 Xcode12  的情况下,是存在这个问题的,在Xcode13中是否会修复掉这个问题,不确定。但目前的确存在这个问题。

        这样子,操作后,重新打出来的静态库,将他们合并 ,就能够,既在真机上跑, 也能在模拟机上跑。

 

 3、集成SDL的静态库,以及头文件到iOS项目 

①把SLD2项目本身的lib,以及编译好的静态库 SLD2.a 放入到iOS项目中。

②在buildsetting中设置 两个path, header path lib path,一个是头文件的路径,一个是库的路径

 

 4、添加依赖的系统库

libz.tbd
libbz2.tbd
libiconv.tbd

 

 

posted @ 2021-04-14 14:14  莫忘来时路  阅读(610)  评论(0)    收藏  举报