Я пытаюсь скомпилировать пример из taglib 1.8 на Ubuntu 12.04 http://taglib.github.com/
Я скопировал пример в каталог с fileref.h
и попытался скомпилировать его с g ++
cp taglib-1.8/examples/tagreader.cpp taglib-1.8/taglib
cd taglib-1.8/taglib/
g++ -o testreader.exe tagreader.cpp
tagreader.cpp:28:21: fatal error: fileref.h: No such file or directory
compilation terminated.
Как мне собрать компилятор taglib в Ubuntu?
РЕДАКТИРОВАТЬ
Привет, Лукас — Спасибо за ответ. Я хочу создать простую программу cli для записи тегов id3 в mp3-файлы (см. https://stackoverflow.com/questions/13216094/how-to-write-a-taglib-program-to-write-the-id3v1-title-and-artist-and-the-id3v2).
До сих пор я только что разобрал taglib 1.8.
(1) Как мне собрать taglib в Ubuntu 12.04? Когда я попробовал вашу вторую команду, я получил следующую ошибку
Package taglib was not found in the pkg-config search path.
Perhaps you should add the directory containing `taglib.pc'
to the PKG_CONFIG_PATH environment variable
No package 'taglib' found
tagreader.cpp:28:21: fatal error: fileref.h: No such file or directory
compilation terminated.
Однако файл taglib.pc
даже не существует. Файл taglib-1.8/taglib.pc.cmake
существует.
(2) Знаете ли вы, как я могу получить с него `taglib.pc?
Вы хотите просто установить примеры или собственную программу, использующую TagLib?
Вы можете собрать примеры как часть сборки TagLib с:
cmake -DBUILD_EXAMPLES=ON .
make
Если вы хотите создать свою собственную программу и у вас уже установлен TagLib, используйте pkg-config
чтобы получить необходимые параметры командной строки, например:
gcc -o test test.cpp $(pkg-config --libs --cflags taglib)
Чтобы это работало, вам нужно установить TagLib. Вы можете собрать его из исходников, но если вам необязательно нужен TagLib 1.8, просто установите его из репозиториев Ubuntu:
sudo apt-get install libtag1-dev
Тогда у вас будут библиотеки TagLib, файлы заголовков и pkg-config
файлы доступны в стандартном месте, и вы можете легко создать собственное приложение.
Кроме того, вам не нужно писать приложение, которое просто пишет имя исполнителя и название. Пример tagwriter делает это. Или вы можете использовать это https://github.com/lalinsky/tagger если вам нужно что-то более сложное. Это может служить вам примером, если не что иное.
Других решений пока нет …