链接器错误“包含无效的 OMF 记录”2
Linker error “contains invalid OMF record” 2
我正在使用 Embarcadero XE8 C++ builder 32 位。
我在我的程序中添加了一个库来解决 Unresolved external error
。
当我添加库时,出现了标题中的错误。所以我在网上搜索并在 Whosebug 上找到了这个主题:
Linker error "contains invalid OMF record"
正如 COFF2OMF 工具所说,可以工作。遗憾的是它对我不起作用,我给了一个 7mb 的库文件,当我用工具转换它时它只有 41kb ...所以我猜转换失败了。当我将转换后的文件添加到我的程序时,它只是忽略它并仍然显示 unresolved external error
.
那么如何让我的库与我的 C++ 构建器一起工作?
一点背景:
库需要使用与您尝试制作的应用程序相同类型的工具进行编译,因为每个编译器的工作方式都略有不同。 Windows 的大多数库都是使用 MVSC(Microsoft Visual Studio 编译器)编译的。
您正在使用 Embarcardero 编译器,这意味着 MVSC 库不兼容(您可能已经注意到 ;))。
您有多种选择。
- 如果可以的话,获取库的源码,用自己的编译器编译。这样成功的几率最大。
- 我可能弄错了,因为已经有一段时间了,但是我相信有一个名为
implib
的工具,它使用共享库 (.dll) 并从中生成一个 Embarcardero 风格的 .lib 以供您使用项目。
- 使用
COFF2OMF
转换静态库。即使文件大小很奇怪,至少也要尝试一下。
- 尝试
LoadLibrary
函数调用。这需要您手动映射所需的功能,但是您可以使用 .lib
.
祝你好运。
我正在使用 Embarcadero XE8 C++ builder 32 位。
我在我的程序中添加了一个库来解决 Unresolved external error
。
当我添加库时,出现了标题中的错误。所以我在网上搜索并在 Whosebug 上找到了这个主题: Linker error "contains invalid OMF record"
正如 COFF2OMF 工具所说,可以工作。遗憾的是它对我不起作用,我给了一个 7mb 的库文件,当我用工具转换它时它只有 41kb ...所以我猜转换失败了。当我将转换后的文件添加到我的程序时,它只是忽略它并仍然显示 unresolved external error
.
那么如何让我的库与我的 C++ 构建器一起工作?
一点背景:
库需要使用与您尝试制作的应用程序相同类型的工具进行编译,因为每个编译器的工作方式都略有不同。 Windows 的大多数库都是使用 MVSC(Microsoft Visual Studio 编译器)编译的。
您正在使用 Embarcardero 编译器,这意味着 MVSC 库不兼容(您可能已经注意到 ;))。
您有多种选择。
- 如果可以的话,获取库的源码,用自己的编译器编译。这样成功的几率最大。
- 我可能弄错了,因为已经有一段时间了,但是我相信有一个名为
implib
的工具,它使用共享库 (.dll) 并从中生成一个 Embarcardero 风格的 .lib 以供您使用项目。 - 使用
COFF2OMF
转换静态库。即使文件大小很奇怪,至少也要尝试一下。 - 尝试
LoadLibrary
函数调用。这需要您手动映射所需的功能,但是您可以使用.lib
.
祝你好运。