c++ - Libiconv C++ 生成器

标签 c++ windows c++builder iconv

我目前正在尝试将 ZBar 库集成到一个用 C++ Builder (XE6) 构建的应用程序中。但是,ZBar 库依赖于 Windows 中最初不可用的 iconv,因此我设法获得了用于 Windows 的 iconv 静态库:“libiconvStatic.lib”。

然后我尝试以这种方式将它导入到我的项目中(虽然我不确定第一行是否必要):

#define USING_STATIC_LIBICONV
#include <iconv.h>

#pragma comment (lib, "libiconvStatic.lib")

在文件中调用的来自iconv 的函数是iconv_open()iconv()iconv_close()

我通过了编译,但从链接器中得到了一个错误:

[ilink64 Error] Fatal : Invalid object file '/72'

我已经尝试过 libiconvStatic.lib 的 32 位和 64 位版本。

您知道为什么无法识别.lib 以及如何解决这个问题吗?或者在 Windows(和 C++ Builder)中使用 iconv 的任何其他方式?

谢谢。

最佳答案

如评论中所述:您应该直接使用 C++Builder 构建库,因为 MSVC 和 C++Builder 的对象文件格式不同。

或者,您可以使用 MSVC 构建库的动态版本,只需执行 implib libiconv.lib libiconv.dll 从 DLL 生成 C++Builder 兼容库。

关于c++ - Libiconv C++ 生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31587417/

相关文章:

c++ - 无法在 makefile 中链接 opengl 库

c++ - 在 C++ 中使用模板元编程从函数类型中提取调用约定

c++ - 函数的返回类型是重整名称的一部分吗?

c++ - send(),返回 Winsock 错误 10038

c++ - 声学回声消除 windows xp/vista/7

c++ - 贷款计算器变更

c++ - 比较 VS C++ 与 C++ Builder 中的 float

c++ - 如何强制 VC++ 名称修改 C++Builder?

c++ - 使用 OpenGL 和 DevIL 调用 glTextureParameteri 时发生访问冲突

c++ - 如何使输出文本在换行符后从控制台的左上角开始