2009-02-20 6 views
4

Я еще не сделал C в течение длительного времени. Я хотел бы скомпилировать this program, но я не знаю, как это сделать. Похоже, что makefile ссылается на GCC много, и я никогда не использовал GCC.Как скомпилировать программу на C?

Я просто хочу исполняемый файл, который будет работать на окнах.

+0

@AngryHacker, вы наконец нашли решение этой проблемы? – vladr

+0

В основном загрузка cygwin позволяет вам скомпилировать. Я уверен, что мог бы использовать другие инструменты, упомянутые ниже, но я просто не знаком с миром unix. – AngryHacker

ответ

9

Возможно, вам понадобится установить cygwin или mingw, которые являются UNIX-подобными средами для Windows.

При загрузке/установке либо Cygwin или MinGW, вы будете иметь возможность загрузить и установить некоторые дополнительные функции; Вам потребуется следующее:

  • GCC (попробуйте версии 2.x первый, не 3.x)
  • Binutils
  • GNU сделать (или gmake)
+0

вы можете добавить DevC++ в свой список :) – leAthlon

4

Если вам требуется gcc, и вы хотите, чтобы он запускался в Windows, вы можете скачать Cygwin.

Это в основном эмулятор для материалов типа GNU/Linux для Windows. Он работает с эмуляцией DLL.

http://www.cygwin.com/

+0

Это нехороший совет. Кто-то, кто запускает окна и никогда не запускает gcc, не хочет cygwin. Он хочет компилятор, а не Unix-подобную среду. Направляйте его к mingw, а не cygwin. – jmucchiello

+1

Если у них есть существующий Makefile, предназначенный для среды UNIX, и они просто хотят что-то создать, Cygwin будет работать нормально. Я поддерживаю свой ответ. – m0j0

3

Вы почти наверняка не нужны все Cygwin для компиляции с помощью GCC. Есть много автономных gcc-клонов для Windows, таких как gcw.

+0

Эта вещь выглядит заброшенной. MinGW кажется лучшим вариантом ... – Malkocoglu

3

Если это достаточно портативный C (я не смотрел на него), тогда вы можете просто игнорировать включенный Makefile и подавать исходный код в любой компилятор, который вы хотите использовать. Что происходит, когда вы это пытаетесь?

+0

У меня нет компилятора C. – AngryHacker

+1

Я вижу. В этом случае, если у него уже есть Makefile для gcc, установите Cygwin или MinGW и скомпилируйте его с помощью этих инструментов. –

4

Для компиляции этой программы вам нужен компилятор C. Он не должен быть gcc, хотя вам уже предоставлен make-файл, настроенный для использования gcc. Самое простое, что для вас, чтобы сделать было бы следующее:

  1. Установите cygwin
  2. Открыть Cygwin командной строки
  3. перейти в каталог, где у вас есть свой Makefile
  4. типа «сделать»
  5. Это должно скомпилировать вашу программу

Если вам не удобно использовать инструменты командной строки, вы можете скачать free version из MS Visual Studio и импортировать исходные файлы в новый проект Visual Studio. Таким образом вам не нужно будет устанавливать cygwin и использовать gcc, но вам нужно будет знать, как создавать проекты и запускать программы в Visual Studio.

+0

И вам, возможно, потребуется выполнить портирование, если код использует системные вызовы UNIX или включает такие файлы, как unistd.h. – m0j0

1

Dev-C++ обеспечивает простой, но красивый IDE, который использует компилятор Mingw gcc и обеспечивает поддержку Makefile. Вот шаги, которые я использовал для создания вышеуказанного кода с помощью Dev-C++ (т.это "как к")

После загрузки исходного почтовый из NIST, я

  • скачал и установил Dev-C++ 5 бета 9 релиз
  • создан новый пустой проект
  • добавлены все .c файлы из ВТР-2.0 \ ЦСИ

Затем в разделе Параметры проекта

  • добавил -lm в колонке Linker под Параметры
  • добавил sts-2.0\include к Include Directories в каталогах
  • установить исполняемый файл и объект в каталог, obj под параметры сборки

, а затем нажмите кнопку OK, чтобы закрыть диалог. Перейдите в раздел «Выполнение»> «Скомпилируйте» и дайте ему покрутиться. Через минуту вы можете найти исполняемый файл в каталоге sts-2.0\obj.

0

Во-первых, мало шансов, что программа с только make-файлами будет построена с визуальной студией, хотя бы потому, что визуальная студия не является хорошим компилятором C из стандартного POV (математические функции, в частности, очень плохо поддерживаются в MS-компиляторах). Это может быть возможно, но это будет нелегко, особенно если вы не знакомы с C. Вы действительно должны придерживаться make-файлов вместо того, чтобы пытаться импортировать код в свою собственную среду IDE - этот вид scienfitic-кода явно предназначен для быть скомпилирован из командной строки. Это тестовый набор, поэтому случайные попытки случайным образом НЕ являются хорошей идеей.

Вы должны использовать mingw + msys для его установки: mingw предоставит вам компиляторы (gcc и т. Д.), А msys - оболочку для правильного запуска файла make. В отличие от другого плаката, я бы посоветовал вам не использовать gcc 2 - я не вижу в этом никакого смысла. Я обычно использую gcc 3 (и даже 4) для Windows для создания научного кода, он хорошо работает, когда код unix-like (который является стандартной платформой для такого кода).

Смежные вопросы