История изменений
Исправление LINUX-ORG-RU, (текущая версия) :
Ну вот есть у тебя в программе функция main
она запускает твою игру, для библиотеки переименовываешь её например в libmain
в заголовочном файле к библиотеке прописываешь её и всё. Собственно всё дальше собираешь свою программу как библиотеку. Только вот беда, твоя программа просто будет открываться отдельным окном из другой программы, а ты хочешь встраивания. Для этого твоя игра должна уметь рисовать не просто в окно, а в предоставленную другим приложением область, текстуру или qtcanvas (или как там оно) для этого нужна ещё функция инициализации что-бы другое приложение пробросило в твою игру куда рисовать, какой у этого «куда» размер и всё остальное воод/вывод, также твоя библиотека должна сообщать основному приложению данные что там в твоей игре происходит и принимать данные в себя, также твоя запущенная игра не должна блокировать работу другого приложения, для этого нужно запускать её в отдельном потоке например, но тогда встают ещё вопросы синхронизации и проброса контекста opengl. Короче просто вот так взять и собрать можно, но работать оно будет как отдельное приложение, а не как библиотека, ну ещё и выше сказали если в игре есть хоть одна глобальная переменная на всю игру, то так как это библиотека будет две копии игры начнут влиять на работу друг друга. Эх. Просто сделай просто игру, ну или садись расчехляй гугол и вперёд и с песней всё по новой вноси кучу большую правок.
Но если ты через библиотеку хочешь предоставить не прям целую игру, а только то что там общитывается ну принял чиселко/ки, выплюнул чиселки/ко, то проблем нет, собирай на здоровье библиотеку, всё будет хорошо. Просто сделай так что-бы не запускался код ввода/вывода и отрисовки.
Исходная версия LINUX-ORG-RU, :
Ну вот есть у тебя в программе функция main
она запускает твою игру, для библиотеки переименовываешь её например в libmain
в заголовочном файле к библиотеке прописываешь её и всё. Собственно всё дальше собираешь свою программу как библиотеку. Только вот беда, твоя программа просто будет открываться отдельным окном из другой программы, а ты хочешь встраивания. Для этого твоя игра должна уметь рисовать не просто в окно, а в предоставленную другим приложением область, текстуру или qtcanvas (или как там оно) для этого нужна ещё функция инициализации что-бы другое приложение пробросило в твою игру куда рисовать, какой у этого «куда» размер и всё остальное воод/вывод, также твоя библиотека должна сообщать основному приложению данные что там в твоей игре происходит и принимать данные в себя, также твоя запущенная игра не должна блокировать работу другого приложения, для этого нужно запускать её в отдельном потоке например, но тогда встают ещё вопросы синхронизации и проброса контекста opengl. Короче просто вот так взять и собрать можно, но работать оно будет как отдельное приложение, а не как библиотека, ну ещё и выше сказали если в игре есть хоть одна глобальная переменная на всю игру, то так как это библиотека будет две копии игры начнут влиять на работу друг друга. Эх. Просто сделай просто игру, ну или садись расчехляй гугол и вперёд и с песней всё по новой вноси кучу большую правок.