2012-01-26 3 views
3

Я в настоящее время обучение FFmpeg учебник Мартин Беме Tutorial HereFFMpeg пример программы

, и я хочу, чтобы скомпилировать программу FFmpeg образца с использованием блочного кода IDE, но он не может

#include <stdio.h> 
#include <stdlib.h> 

#include "libavcodec/avcodec.h" 
#include "libavformat/avformat.h" 

int main(int argc, char *argv[]) 
{ 
av_register_all(); 

    return 0; 
} 

Пожалуйста, помогите мне. Как скомпилировать его. Я использую Linux (Ubuntu)

+0

Какие у вас проблемы? Измените свой вопрос, чтобы добавить такие вещи, как ошибки. –

+0

Компилятор говорит, что не может найти «libavcodec/avcodec.h», это моя проблема. Или как скомпилировать примерную программу программы Мартина Бомэ? –

ответ

3

Вы должны сообщить компилятору, где находятся файлы заголовка и библиотеки. Это делается с помощью флага -I, чтобы указать, какие каталоги содержат файлы заголовков, и -L, чтобы указать, какие каталоги содержат библиотеки. Вам также понадобится -l, чтобы указать, с какими библиотеками обращаться.

Флаги могут быть использованы, как это:

 
$ g++ -I/path/to/headers myprogram.cpp -L/path/to/libraries -lthelibrary 

заметку о библиотеках: В Linux (и UNIX систем), они представляют собой файлы с именами, которые начинаются с «Lib» и заканчиваются с расширением».a " или так". При указании библиотеки с флагом -l вы делаете не пишите. Поэтому для файла библиотеки «libfoo.a» вы используете только ссылку -lfoo.

Для получения дополнительной информации о вариантах gcc и g ++ см. http://gcc.gnu.org/onlinedocs/gcc/Invoking-GCC.html.

Редактировать: Для IDE, такого как Code :: Blocks, скорее всего, есть некоторые параметры проекта, где вы можете добавить каталоги include и библиотеки и библиотеки ссылок. Проверьте меню «Проект» на альтернативу «Настройки» или «Свойства».

Редактировать: См. Например this Часто задаваемые вопросы где искать ссылки в коде: Блоки, параметры предварительного процессора должны быть рядом.

+0

г ++ -I/USR/местные/включают main.c -L/USR/местные/Библиотека -lavcodec -lavformat говорит ошибка: 'UINT64_C' не был объявлен в этой области –

+2

@Glennascual [Это] (HTTP: //stackoverflow.com/q/4184789/440558) содержит код-фрагмент о том, как его решить. –

1

Вы можете попробовать следующую команду для компиляции в Linux.

gss <program-name.c> 
-2

Для IDE, например, eclipse follow FFMPEG - Eclipse Setup Guide[Linux] official

+1

Ссылка на потенциальное решение всегда приветствуется, но, пожалуйста, [добавьте контекст вокруг ссылки] (http://meta.exackexchange.com/a/8259), чтобы у ваших коллег было некоторое представление о том, что это такое и почему оно там , Всегда указывайте наиболее значимую часть важной ссылки, если целевой сайт недоступен или постоянно находится в автономном режиме. Учтите, что это всего лишь ссылка на внешний сайт - это возможная причина [Почему и как удаляются некоторые ответы?] (Http://stackoverflow.com/help/deleted-answers). – FelixSFD

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