Как скомпилировать это на Windows - PullRequest
1 голос
/ 25 января 2010

Хорошо. Я пытаюсь скомпилировать следующее приложение в Windows ( Segmenter , см. Шаг 3).

Я проверил источник и изменил ссылки, чтобы все было хорошо. В основном это однофайловое приложение со ссылкой на ffmpeg.

makefile читает:

gcc -Wall -g segmenter.c -o сегментатор -lavformat -lavcodec -lavutil -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad

У меня есть компилятор Visual C ++, но я просто не знаю, как скомпилировать приведенную выше строку с использованием этого компилятора, или я должен получить Gcc для Windows ?

Ответы [ 5 ]

2 голосов
/ 25 января 2010

Не рассматривайте возможность использования cygwin, если это не требуется для проекта, над которым вы работаете. Загрузите версию GCC для MinGW и binutils, например make от http://tdragon.net/recentgcc. Я никогда не слышал о версии GCC, в которой вы указали ссылку на свой вопрос - MinGW - основной проект в этой области.

2 голосов
/ 25 января 2010

Строка указывает на очень простую компиляцию. Он компилирует файл с одним стандартным аргументом (-g для компиляции с символами отладки, в MSVC это /Zi).

Но это соединение со многими библиотеками (это все опции -l). Я распознаю две из них как стандартные библиотеки сжатия (bz2 и z), поэтому вам сначала нужно будет собрать эти библиотеки.

1 голос
/ 25 января 2010

Вы должны иметь возможность использовать cl.exe , который у вас уже есть. Вы можете использовать / Wall вместо -Wall. (W контролирует, как генерируются предупреждения.)

R Самуэль Клатчко дает остальное, что вам нужно знать.

1 голос
/ 25 января 2010
cl -c -W4 segmenter.c -Fosegmenter.obj
link segmenter.obj avformat avcodec avutil bz2 faac mp3lame x264 faad 

Я не уверен, что делать с -lm и -lz. На самом деле, все эти библиотеки должны быть собраны компилятором MSVC, чтобы это работало.

1 голос
/ 25 января 2010

Если у вас нет исходного кода для библиотек, в которые вы ссылаетесь, вам, вероятно, придется использовать компилятор, который их скомпилировал.

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