关于bcb调用动态库,contains invalid OMF record, type 0x21 (possibly COFF)问题

今天用C++Builder6.0 调用三方lib文件时,编译的时候出现如下错误:

“contains invalid OMF record, type 0x21 (possibly COFF)”

才知道这个lib文件是别人用VC做的,要在C++Builder下面使用的,必须转换成CB格式的

这才想起调用CB安装目录下的coff2omf工具;需要cmd 操作,忘了一通了,查查文档,转换成功,

现在记录一下。

先把需要转换的VC的ml.lib放在C盘根目录下,

然后生成新的C++Builder格式下的ml1.lib文件 ,

这个ml1.lib就是我在C++Builder下调用成功的lib文件

操作如下:

开始-》运行-》cmd  -》

C:/Documents and Settings/3860>coff2omf -lib:ms c:/ml.lib bcb c:/ml1.lib  //此处回车

COFF to OMF Converter Version 1.2.0 Copyright (c) 1999-2009 Embarcadero Technolo

gies, Inc.

All rights reserved.

OK

来自:http://blog.csdn.net/zhouzhangkui/article/details/5530009

时间: 2024-10-27 07:26:44

关于bcb调用动态库,contains invalid OMF record, type 0x21 (possibly COFF)问题的相关文章

BCB ERROR:[Linker Error] 'XXX.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

今天C++builder 导入 gts .lib  (gts.dll)库文件 编译报错: [Linker Error] 'D:\...\V4.05.007.1000-20161028\GTS.LIB' contains invalid OMF record, type 0x21 (possibly COFF) 在这之前经常使用这个gts.lib,现在报这个错,哈哈---蒙了---百度一下高手在民间: 出现了这个错误,就说明这个lib是微软VC格式COFF的lib,不能被C++Builder直接调

BCB 查看动态库中有什么函数

切换至 tdump.exe 所在目录: C:\Documents and Settings\Administrator>cd D:\Program Files\CodeGear\RAD Studio\6.0 \bin D:\Program Files\CodeGear\RAD Studio\6.0\bin>tdump.exe D:\Program\CKD\05191800\F nthex32.dll > d:\Fnthex32.txt 输出结(红色字体为函数名): Exports fro

调用动态库时声明的参数个数不一致导致的问题

问题: 原因:调用动态库时声明的参数个数不一致.  本文用菊子曰发布

动态调用动态库方法 .so

关于动态调用动态库方法说明 一.       动态库概述 1.  动态库的概念 日常编程中,常有一些函数不需要进行编译或者可以在多个文件中使用(如数据库输入/输 出操作或屏幕控制等标准任务函数).可以事先对这些函数进行编译,然后将它们放置在一些特殊的目标代码文件中,这些目标代码文件就称为库.库文件中的函数 可以通过连接程序与应用程序进行链接,这样就不必在每次开发程序时都对这些通用的函数进行编译了. 动态库是一种在已经编译完毕的程序开始启动运行时,才被加载来调用其中函数的库.其加载方式与静态库截然

Android底层笔记:APP通过JNI调用动态库.so

开发环境: 平板电脑:FSPAD-733,原理上来说任何支持安卓的开发板都可以: eclipse:使用的是iTOP-4412开发板提供的eclipse安卓开发包: Ubuntu:使用的是FSPAD-733虚拟机开发环境,原理上来说任何开发包提供的虚拟机环境都是可以的. 加载库名,然后系统自动到库目录下找.so动态库 目录/库文件名 loadLibrary ? ? ? du -mh tags androidL/art/ vi -t Runtim_nativeLoad ? ? ? javah -jn

调用动态库

1.简介 2.DLL的调用功能 3.适合的范围 4.演示

调用动态库!

#include<windows.h> #include<iostream> //客户端初始化 获取handle上下 typedef int(*CltSocketInit)(void **handle); //客户端发报文 typedef int(*CltSocketSend)(void *handle, unsigned char *buf, int buflen); //客户端收报文 typedef int(*CltSocketRev)(void *handle, unsign

浅谈C++ 动态库与静态库的调用

一.调用静态库文件:两种方式:1 使用VS工具 1).工具>选项>项目和解决方案>VC++目录中设置包含文件和库文件的目录 2)cpp中包含头文件,以及要用的命名空间,然后即可调用相关的东西2.不通过设置目录的方式: 1)cpp中包含头文件 2)cpp中加入#pragma comment(lib,"..\\debug\\testlib.lib")二:调用动态库文件包含头文件#include <Windows.h>[code=cpp]typedef int

Live555 中的客户端动态库.so的调用方式之一 程序中调用

1.  打开动态链接库:    #include <dlfcn.h>    void *dlopen(const char *filename, int flag);    该函数返回操作句柄,如:    void *pHandle = dlopen(strSoFilePath, RTLD_LAZY); 2.  取动态对象地址:    #include <dlfcn.h>    void *dlsym(void *pHandle, char *symbol);    dlsym根据