В строке 56 указана #error
директива globals.h
:
#ifdef WIN32
# define LINKOPTION_STATIC 1 //both for use and creation of static lib
# define LINKOPTION_CREATE_DYNAMIC 2 //should only be used by prj/id3lib.dsp
# define LINKOPTION_USE_DYNAMIC 3 //if your project links id3lib dynamic
# ifndef ID3LIB_LINKOPTION
# pragma message("*** NOTICE *** (not a real error)")
# pragma message("* You should include a define in your project which reflect how you link the library")
# pragma message("* If you use id3lib.lib or libprj/id3lib.dsp (you link static) you should add")
# pragma message("* ID3LIB_LINKOPTION=1 to your preprocessor definitions of your project.")
# pragma message("* If you use id3lib.dll (you link dynamic) you should add ID3LIB_LINKOPTION=3")
# pragma message("* to your preprocessor definitions of your project.")
# pragma message("***")
# error read message above or win32.readme.first.txt // <-- HERE
Компилятор достигает #error
, если WIN32
определено, но ID3LIB_LINKOPTION
НЕ определено.
Как вы можете видеть в «сообщении выше», вам нужно вручную определить ID3LIB_LINKOPTION
в вашем проекте в соответствии с тем, как вы подключаетесь к библиотеке ID3.Вы еще этого не сделали, поэтому вы получаете сообщение об ошибке.
Зайдите в параметры проекта и добавьте запись для ID3LIB_LINKOPTION=3
(поскольку вы используете версию DLL библиотеки ID3) вРаздел Условий.Или поместите оператор #define ID3LIB_LINKOPTION 3
в коде C ++ над любыми операторами #include
для заголовочных файлов ID3.
Также убедитесь, что вы добавили сгенерированный файл id3lib.lib
в свой проект с помощью диспетчера проектов, илипоместите директиву #pragma comment(lib, "id3lib.lib")
где-нибудь в вашем коде C ++.