#c #linux #g
#c #linux #g
Вопрос:
у меня есть исходный код проекта vc . Теперь я использую Linux. я знаю, как скомпилировать один файл .cpp не весь проект. Итак, как скомпилировать проект VC с использованием g ?
Комментарии:
1. Найдите хороший учебник по Makefiles.
2. Или еще лучше: взгляните на такой современный инструмент, как SConstruct
3. вам нужна только компиляция или весь набор инструментов сборки, включая компоновщик, редактор ресурсов и т.д.? что это за проект VC ?
Ответ №1:
Небольшим преимуществом Makefiles была бы возможная интеграция с autotools (кашель — Это может оказаться удобным для получения отправной точки для функциональных макросов).[2]
В составе winemaker есть инструмент, который чрезвычайно полезен при настройке дерева исходных текстов, в котором предполагалось, что имена не чувствительны к регистру, для работы с чувствительной к регистру файловой системой. (_ это было предназначено главным образом для сборки с использованием winelib, но это не обязательно)
Если вы хотите продолжать использовать Windows API для некоторых частей кода, вы можете рассмотреть возможность компиляции с помощью winelib (и использовать winegcc, создавая исполняемые файлы WIN32; я не уверен, что это то, чего вы хотите)
[2]: SCons — очень хороший инструмент, хотя
Комментарии:
1. Присоединяюсь к рекомендации scons. Однажды у меня был небольшой проект, созданный с его помощью.
Ответ №2:
Первым шагом было бы сгенерировать Makefile из файла vcproj. Для этого (очевидно) есть несколько инструментов: http://www.codeproject.com/KB/cross-platform/sln2mak.aspx
Ответ №3:
Простого способа сделать это нет. Как предлагали другие, вы можете выяснить, как работает процесс сборки для этого проекта (возможно, прочитав выходные данные сборки в VS) и воссоздать его с помощью вашего любимого инструмента сборки Linux (scons, cmake, autotools и т.д.). Альтернативой является использование инструмента преобразования. Помимо упомянутого ниже sln2mak, есть также winemaker. Документы для winemaker содержат много старой информации, как и большинство документов Linux tools, но он может конвертировать .sln в makefile. Я не уверен насчет более новых файлов vs .sln.