0

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

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

安装这个库我做错了什么?

4

1 回答 1

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

编译器到达#errorifWIN32已定义但ID3LIB_LINKOPTION未定义。

正如您在“上面的消息”中看到的,您需要ID3LIB_LINKOPTION根据您链接到 ID3 库的方式在您的项目中手动定义。您还没有这样做,这就是您收到错误的原因。

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

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

于 2018-05-25T16:29:05.083 回答