OS X/C++ - Cinder создает окно, которое проходит через ввод с клавиатуры
Cinder - это графическая библиотека, которая действует как оболочка для OpenGL
а также C++
,
Создание базового приложения с использованием библиотеки CINDER_APP
Функция в macOS и компиляция с использованием XCode работают как положено: нажатие клавиш ничего не делает, так как приложение не настроено для обработки ввода с клавиатуры.
Использование идентичного кода и компиляция с CMake дает другой результат: нажатия клавиш пропускаются окном и обрабатываются любым последним открытым приложением. Это происходит, даже если тестовое приложение настроено для обработки ввода с клавиатуры. Это делает невозможным фактически обрабатывать ввод с клавиатуры в окне при компиляции с помощью CMake, поскольку ввод с клавиатуры осуществляется полностью, как если бы окно не существовало.
Чтобы уточнить, эти два тестовых приложения, во всех видимых отношениях, идентичны: они используют одинаковые .a
Файл библиотеки и код идентичны. Необходимые OS X Frameworks были включены в CMakeLists.txt
файл.
Что может быть причиной этой проблемы? Некоторый отсутствующий флаг компилятора в CMakeLists.txt
файл? Некоторая неправильная конфигурация CMake
? Немного другая стандартная библиотека? Код четко работает, о чем свидетельствует XCode
Однако должен быть какой-то способ скомпилировать его в CMake
также.