Xcode
在看大佬的premake章节的视频时,看到premake5可以直接生成xcode的配置文件,于是突然很想把下一个Xcode,之后用Xcode来跟着大佬学习,结果Xcode配置起来真感觉比VS麻烦很多,踩了几个坑,记录一下解决办法。
首先是新建一个library工程时,直接选择Library就好了,而添加一个cpp工程时,选择那个Command Line Tool。
一开始新建完成一个Library项目后,在工程文件夹下找不到各种build文件,找了半天在Product标签栏下发现了这个build folder path,xcode默认会把你的工程文件生成到一个很繁琐的目录下,需要对Xcode的Setting进行更改
在Location选项卡下,把Derived Data改成Relative,再点开Advanced,把Build Location更改为Custom中的Relative to Workspace,这样就可以在项目文件夹下找到生成的文件了。这是Xcode的全局设置,假如不更改这个,即使改了项目的build path也没用。查到的说法是,假如重新安装Xcode,仍然需要重新更改一下这个设置,这一点着实很烦人。
生成项目之后点左侧的项目标志,会出现Building之类的选项卡和VS中的Project Setting那个是同一类东西吧,这样不用写CMakeLists应该能轻松不少。可以找到工程文件生成的位置,更改生成路径,也可以找到它的search path更改include和link的路径,在Build Phases选项卡里可以找到需要link的Libraries,选择需要link的文件添加即可。
本以为这样就大功告成了,但是app工程跑起来后,还是找不到生成的dylib文件,在xcode的console报出的信息可以看到,它并没有去我们更改的link路径里去搜索动态库,目前的解决方法是在Target Dependencies下面添加engine的动态库工程,这样它就可以找到需要的dylib文件了,但感觉这样治标不治本,之后再添加其他第三方库的话,它还是不去搜索指定路径的话怎么办呢。
除此之外,对整个项目的大文件夹进行了重命名,Xcode又报错了,这次是把Generate info.plist File这个选项改成Yes之后,再运行一下就可以了。应该是重新生成了一个info.plist再重新加载的,这样就不会读取旧的info.plist了
这样工程就可以正常跑起来了,但跑起来发现Xcode的Console不支持带有颜色的字体输出,这样Log中不同等级的输出颜色都是一样的,假如在Edit Scheme中的Run选项卡的Options一栏里把Console改成terminal,它又会输出一堆Log,所以还是干脆就用Xcode自带的Console吧。