1.OpenGL mac开发环境搭建记录
1.安装GLEW 和GLFW,转摘至:https://www.cnblogs.com/pretty-guy/p/11357793.html
2.开始测试,整个工程报错,关键信息如下:
code signature in (*.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
我这里的问题,是libGLEW.2.1.0.dylib 库文件没有签名,需要进行签名
3. 签名教程:https://blog.csdn.net/ReadyShowShow/article/details/102547633
4. 使用3 中的教程的时候,报了一个错:
the codesign_allocate helper tool cannot be found or used
5. 解决这个问题的方法:
5.1. 运行如下命令
locate codesign_allocate
5.2. 如果本地有codesign配置的话,那么就会显示好几个对应的配置文件路径。
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate-p /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1/codesign_allocate.1 /usr/bin/codesign_allocate
5.3. 如果没有显示上面的信息话,那么mac 会提示如下信息:
WARNING: The locate database (/var/db/locate.database) does not exist. To create the database, run the following command: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist Please be aware that the database can take some time to generate; once the database has been created, this message will no longer appear.
5.4. 我们按照它提示的,输入 sudo launchctl load ……进行新建,这个要等一会儿,大约1分钟左右,等到再次输入5.1 中的命令,如果出现5.2的结果,则证明创建完毕。
6. 再次进行动态库的签名操作(步骤3的操作),这时候,又报了一个错,提示 【Permission denied】,意思是无对应文件夹的权限,无法创建签名文件,解决方案:
$ sudo chmod -R 777 某一目录
7. 再次进行动态库签名操作,如果没有任何提示,那么签名成功,再次运行示例项目,得到一个烂三角形,开发环境搭建完毕!
8. 如果按照步骤3中的签名方法,无论如何也无法签名,那么可以尝试如下命令方式:
codesign --sign "your key" --keychain ~/Library/Keychains/apsd.keychain your dylib path