Cinder是一个图形库,其作用类似于 和 的包装OpenGL
器C++
。
在macOS上使用库的CINDER_APP
函数创建一个基本应用程序并使用XCode进行编译按预期工作:按键没有任何作用,因为应用程序没有设置为处理键盘输入。
使用相同的代码并使用CMake编译会产生不同的结果:按键通过窗口传递,由上次打开的任何应用程序处理。即使测试应用程序设置为处理键盘输入,也会发生这种情况。这使得在使用 CMake 编译时无法实际处理窗口中的键盘输入,因为键盘输入完全通过,就好像窗口不存在一样。
澄清一下,这两个测试应用程序在所有可见的方面都是相同的:它们使用.a
库的相同文件并且代码相同。必要的 OS X 框架已包含在CMakeLists.txt
文件中。
这个问题的原因可能是什么?文件中缺少一些编译器标志CMakeLists.txt
?一些不正确的配置CMake
?稍微不同的标准库?代码显然可以工作,正如 所证明的那样XCode
,但是也必须有某种方法来编译它CMake
。