Портирование приложения C++ от Windows до GNU/Linux.

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

Вот часть вопросов: там какой-либо простой способ состоит в том, чтобы портировать проект Visual Studio 2008 года на набор инструментальных средств GNU/Linux?

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

1
задан Keith Pinson 12 February 2013 в 17:11
поделиться

2 ответа

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

1
ответ дан 3 September 2019 в 00:31
поделиться

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

1
ответ дан 3 September 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: