компиляция в Windows и Linux - PullRequest
       24

компиляция в Windows и Linux

1 голос
/ 11 ноября 2009

Я просто ищу некоторые рекомендации, поскольку это может показаться очень открытым вопросом.

У меня есть проект, который был скомпилирован с использованием Visual Studio 2008 sp1. Я должен скомпилировать, чтобы он работал Linux с использованием GCC 4.4.1 C99.

Это демонстрационное приложение, которое я сам не написал.

Исходный код написан так, что он может быть кроссплатформенным (linux, windows), поэтому код будет компилироваться и запускаться на linux. Однако, если он был разработан с использованием VS, у меня нет никакого make-файла для использования.

Я мог бы написать файл make. Но я не уверен насчет зависимостей, так как всего около 20 файлов (* .c и * .h).

Мне просто интересно, как я могу написать make-файл из проекта Visual Studio? Могу ли я использовать какие-либо настройки? и что зависит от чего? Что-нибудь еще?

Большое спасибо за любые предложения,

Ответы [ 3 ]

3 голосов
/ 11 ноября 2009

Утилита makedepend отсканирует переданные вами файлы C, используя правила предварительной обработки C, чтобы определить их зависимости и вывести их в Makefile.

Это должно делать большую часть того, что вы хотите.

3 голосов
/ 11 ноября 2009

Одним из инструментов, который вы можете использовать, является CMake. CMake может генерировать файл решения VS.net, а также может создавать make-файл Unix. Этот путь не легок, и при этом это не без его ударов на дороге. (Особенно, когда последовательность сборки становится сложной)

1 голос
/ 11 ноября 2009

Начните с очень простого Makefile:

theapp: *.c *.h Makefile
    gcc *.c -o theapp

Эти две строки дадут вам 90% пути (и, во многих случаях, 100% пути).

Теперь вы можете создавать и запускать свое приложение в Unix просто с помощью:

$ make && ./theapp

Я не рекомендую использовать такие сложные генераторы Makefile, как automake , если только вы не планируете выпустить этот материал для мира.

Для частных проектов сохраняйте ваши make-файлы простыми и чистыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...