如何让id3lib在C ++ Builder 10.2中运行?

时间:2018-05-23 07:09:00

标签: c++ c++builder-2010 id3-tag

如何在Windows 7上的C ++ Builder 10.2中安装此库? 我从" id3lib-3.8.3 win binaries / debug"复制了id3lib.dll。并将我的项目.exe文件放在文件夹中,而不是我通过ImpLib创建id3lib.lib(使用-a选项)并添加到我的项目中。之后,我将头文件夹(id3)链接到我的项目并写了#include "id3/tag.h"。当我试图编译时,我得到:

  

[bcc32致命错误] globals.h(56):F1003错误指令:读取消息   以上或win32.readme.first.txt

安装此库我做错了什么?

1 个答案:

答案 0 :(得分:0)

#error的第56行有一个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

正如您在上面的&#34;消息中所看到的那样,您需要根据链接到ID3库的方式在项目中手动定义ID3LIB_LINKOPTION。你还没有这样做,这就是你得到错误的原因。

进入“项目选项”并在“条件”部分中为ID3LIB_LINKOPTION=3添加条目(因为您使用的是ID3库的DLL版本)。或者,在C ++代码中将#define ID3LIB_LINKOPTION 3语句放在ID3头文件的任何#include语句之上。

另外,请确保使用项目管理器将生成的id3lib.lib文件添加到项目中,或者在C ++代码中的某处添加#pragma comment(lib, "id3lib.lib")指令。