如何使id3lib在C++生成器10.2中工作?
How to make id3lib works in C++ Builder 10.2?
如何在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
安装此库我做错了什么?
globals.h
的第 56 行有一个#error
指令:
#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
如果定义了WIN32
但未定义ID3LIB_LINKOPTION
则编译器将到达#error
。
正如您在"上面的消息"中看到的,您需要根据链接到ID3库的方式手动定义项目中的ID3LIB_LINKOPTION
。 您尚未执行此操作,这就是出现错误的原因。
进入"项目选项",并在"条件"部分添加ID3LIB_LINKOPTION=3
条目(因为您使用的是 ID3 库的 DLL 版本(。 或者,在 ID3 头文件的任何#include
语句上方的 C++ 代码中放置一个#define ID3LIB_LINKOPTION 3
语句。
此外,请确保使用项目管理器将生成的id3lib.lib
文件添加到项目中,或在C++代码中的某个位置放置#pragma comment(lib, "id3lib.lib")
指令。
相关文章:
- QSqlquery prepare()和bindvalue()不工作
- 导入库可以跨dll版本工作吗
- 以螺旋方式打印矩阵的程序.(工作不好)
- 对象指针在c++中是如何工作的
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- C++为线程工作动态地分割例程
- 为什么我的 std::ref 无法按预期工作?
- 布尔比较运算符是如何在C++中工作的
- SampleConsensusPrerejective(ext.RANSAC)是如何真正工作的
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 为什么std::condition_variable notify_all的工作速度比notify_one快(对于随机请
- <<操作员在下面的行中工作
- 有人能解释一下为什么下界是这样工作的吗C++的
- ExtractIconEx:可以工作,但偶尔会崩溃
- C++中的memset函数工作不正常
- 当我在第一个循环中使用"auto"时,它工作正常,但是使用"int"它会给出错误,为什么?
- 链表c++插入,所有情况都已检查,但没有任何工作
- 如何使id3lib在C++生成器10.2中工作?