Портирование приложения C ++ из Windows в GNU / Linux. - PullRequest
1 голос
/ 16 мая 2010

Я пытаюсь перенести компьютерную игру с windows на GNU / Linux. Он использует Ogre3D, CEGUI, ogreogg и ogrenewt. Насколько я знаю, все зависимости работают на GNU / Linux, а в самой игре нет кода, специфичного для тина.

Вот часть вопросов: Есть ли простой способ перенести проект visual studio 2008 в цепочку инструментов GNU / Linux?

Как мне управлять зависимостями? В Visual Studio я бы просто добавил их в листы свойств или каталоги по умолчанию. Я предполагаю использовать GNU / Linux autoconf и позаботиться об этом, но каким образом? Нужно ли добавлять каждый .cpp и .hpp вручную или есть какой-то способ автоматизации вещей? Как мне решить проблему зависимостей в разных местах в разных системах? Я хотел бы использовать Eclipse в качестве своей IDE под GNU / Linux.

Ответы [ 2 ]

1 голос
/ 17 мая 2010

Как заметил @pmr, вы действительно ищете систему сборки. Хотя GNU Autotools (Automake, Autoconf и т. Д.) Традиционно использовались, у этих инструментов много проблем, и у них невероятно крутая кривая обучения. Вместо этого я настоятельно рекомендую использовать CMake . CMake является своего рода системой мета-сборки в том смысле, что CMake генерирует проекты для различных систем сборки, используя описание проекта CMake; По умолчанию CMake генерирует проект Makefile из своего описания проекта, но также может создавать проекты для Visual Studio, Xcode, KDevelop и других. Вы можете найти шаблон проекта приложения C ++ и шаблон проекта библиотеки C ++ в качестве примеров использования системы сборки CMake. Учебные руководства и другие вводные материалы о CMake можно найти в CMake Wiki , а в Справочном руководстве CMake приведены подробные инструкции по всем различным командам, которые поддерживает CMake (вы, вероятно, найдете ADD_EXECUTABLE, ADD_LIBRARY, TARGET_LINK_LIBRARIES, INCLUDE_DIRECTORIES и LINK_DIRECTORIES, чтобы быть наиболее полезной из доступных команд). Кроме того, хотя я настоятельно рекомендую вам использовать CMake вместо Make, мой учебник по Makefile может оказаться полезным, если вы решите использовать Make.

1 голос
/ 16 мая 2010

По сути, вы спрашиваете: что такое хорошая система сборки для GNU / Linux. Нет однозначного ответа на эту проблему. Make + autoconf - это стандартный способ работы, но вы можете быть более довольны cmake, который имеет преимущество кроссплатформенности.

...