我正在关注在Swift中使用OpenGL的this教程。它显然取决于GLFW的一些GitHub Repo并使用Package.swift文件将其构建到您的可执行文件中。遗憾的是,在运行指示的构建命令swift build -Xcc -I/usr/local/include -Xlinker -L/usr/local/lib
时,我收到以下错误:
错误:不再支持空清单文件。使用
swift package init
自动生成。
当我运行建议的init命令时,我得到:
错误:此目录中已存在清单文件
我该怎么办?
答案 0 :(得分:0)
该教程是为Swift版本2编写的,它已经过时了一段时间。您在该存储库中需要库的唯一原因是它定义了一些必要的OpenGL函数加载器,以使您的程序正确链接。我目前使用的是SGLOpenGL
库的修补版本,我将其编译为在Swift 3下编译。我相信这是目前使用OpenGL和Swift的唯一方法。您必须更正Swift UnsafePointer
并重写函数参数列表以使用(或删除)命名参数等,因为Swift 3是一个源代码破解版本。编译器通常会告诉你你需要做什么,这只是一些繁琐的工作。
请注意,您不需要任何Turnbull的其他库来使用OpenGL和Swift。您可以轻松(“轻松”)为四元数,向量,矩阵,相机截止等编写自己的Math
函数实现.Google是您的朋友,因为大多数这些例程都是计算机中充分研究的问题图形,网上有大量的伪代码和C ++实现,可以帮助您入门。
Image
PNG库非常容易替换,但幸运的是,已经存在一个原生的Swift PNG解码器MaxPNG
†,旨在用于图形框架。
†(披露,我是MaxPNG
的作者;我之所以写这篇文章,是因为我与几个月前的情况完全相同。 )