По всей вероятности, было бы проще использовать один API-интерфейс GUI для каждого приложения, а не объединять их вместе (т.е. проще иметь SDL / OpenGL в вашей игре и wxWidgets / OpenGL в вашем редакторе уровней). Обычно эти библиотеки не создаются для объединения или использования вместе с другими библиотеками, поэтому практически невозможно использовать их обе в одной программе. Например, я не очень разбираюсь в SDL, но правильно написанная программа wxWidgets использует внутренние макросы для генерации int main()
и запускает свой насос сообщений, среди прочего. Если SDL требует, чтобы вы делали то же самое (запустите какой-то специальный код инициализации в вашем int main()
или разрешите SDL генерировать свой собственный int main()
), вы не сможете правильно инициализировать SDL, не нарушая wxWidgets, и наоборот. Опять же, я не знаю, существует ли этот конкретный конфликт между двумя библиотеками, но это всего лишь пример того, как они могут взаимодействовать и мешать друг другу.
Тем не менее, в идеальном мире было бы лучше выбрать одну из библиотек и использовать ее как для своего движка, так и для редактора уровней (т. Е. Использовать SDL / OpenGL для движка и редактора или wxWidgets / OpenGL для движка и редактор), но если вы довольны поддержкой двух разных кодовых баз API, то если они не сломаны, не исправляйте их.