我正在使用Embarcadero XE8 C++ builder 32位。
我在我的程序中添加了一个库来解决Unresolved external error问题。
当我添加库时,我得到了错误,就像在标题中一样。因此,我搜索了这个网站,并在stackoverflow上找到了这个主题:Linker error "contains invalid OMF record"
正如它所说的,COFF2OMF工具可以工作。遗憾的是,它没有对我起作用,我给出了一个7mb库文件,当我用工具转换它时,它只有41‘s.所以我猜转换失败了。当我将转换后的文件添加到我的程序中时,它只会忽略它,仍然会说是unresolved external error。
那么如何让我的库与我的C++构建器一起工作呢?
发布于 2015-09-21 13:01:06
一些背景:
库需要使用与您试图创建的应用程序相同的工具进行编译,因为每个编译器所做的事情都有点不同。大多数Windows库都是用MVSC ()编译的。
您正在使用Embarcardero编译器,这意味着MVSC库不兼容(您可能已经注意到了;)。
你有多种选择。
implib的工具,它使用共享库(.dll)并从它生成一个Embarcardero风格的.lib,供您的项目使用。COFF2OMF转换静态库。即使文件大小很奇怪,至少也要尝试一下。LoadLibrary函数调用。这一项要求您手动映射所需的函数,但是您需要使用.lib。祝好运。
https://stackoverflow.com/questions/32695738
复制相似问题