我在测试Metal cpp时遇到了一个奇怪的问题。以下项目与苹果公司的官方Metal Cpp示例项目几乎相同。
https://github.com/shi-yan/testmetal
苹果的官方示例包含一个Xcode项目,而我的修改版本尝试使用cmake。
我的cmake项目构建并运行,但窗口是空的。我调试了它,根本原因是drawInMTKView函数从未被调用。
如果我使用cmake生成一个Xcode项目,然后在Xcode中构建并运行我的代码,那么生成的应用程序可以很好地呈现到它的窗口。
然而,如果我通过终端运行相同的应用程序二进制文件,它将再次显示一个空窗口。
知道是什么原因造成的吗?谢谢
多亏了一位苹果工程师,问题才得以解决。
我的CMakeLists.txt没有加载MetalKit。XCode可以自动加载MetalKit,因此通过XCode运行它没有问题。
将MetalKit添加到我的CMakeList.txt中解决了这个问题。