Ошибка файла не найдена при попытке включить заголовок id3lib

Я скачал id3lib и поместил каталог в мой каталог main.cpp, но и g ++, и Visual Studio дают файл / каталог не найденные и «неопределенные» ошибки

Вот мой main.cpp:

#include <iostream>
#include <id3lib-3.8.3/include/id3/tag.h>
int main() { std::cout << "hi"; }

g ++ main.cpp дает:

main.cpp:2:46: fatal error: id3lib-3.8.3/include/id3/tag.h: No such file or
directory
#include <id3lib-3.8.3/include/id3/tag.h>

если я использую «» вместо <> я получаю эту ошибку:

id3lib-3.8.3/include/id3/tag.h:32:30: fatal error: id3/id3lib_frame.h: No
such file or directory
#include <id3/id3lib_frame.h>

0

Решение

Недостаточно положить его рядом с вашим основным файлом. Как вы можете видеть в своем первом подходе, когда вы использовали #include с <> это не может найти это, потому что (скопировано из Вот):

За #include <filename> препроцессор ищет в реализации
зависимым образом, обычно в поисковых каталогах, предварительно обозначенных
компилятор / IDE. Этот метод обычно используется для включения стандартной библиотеки
заголовочные файлы.

Вы не сказали своему компилятору, где искать id3lib-3.8.3/include/id3/tag.h так <> не будет работать для вас.

Тогда ты попробовал "", это найдено id3lib-3.8.3/include/id3/tag.h но в tag.h есть #include <id3/id3lib_frame.h>Итак, вернемся к проблеме с первым подходом, верно?

Вам нужно указать компилятору / IDE, где искать эти файлы. В Visual Studio щелкните правой кнопкой мыши на файле вашего проекта, затем выберите Свойства-> C / C ++ -> Общие-> Дополнительные каталоги включения и добавьте библиотеку включения ($(ProjectDir)id3lib-3.8.3/include/ или, может быть $(SolutionDir)id3lib-3.8.3/include/) к нему. Тогда ваш первый подход должен работать нормально.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]