如何在delphi中调用C++库文件lib

bonnie135 2004-08-11 06:09:50
VC6.0编译好的库文件.lib,我想在delphi中调用使用,有什么办法?我不想通过.dll的方法,我需要把库文件编译到可执行文件之中。我需要的代码在VC中只有.lib,没有.obj文件。那位大侠能帮帮我?
...全文
499 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bonnie_liu 2004-08-15
  • 打赏
  • 举报
回复
buxing
try again
bonnie135 2004-08-12
  • 打赏
  • 举报
回复
没人能解决这个问题吗?帮帮忙!
bonnie135 2004-08-12
  • 打赏
  • 举报
回复
大家再帮我看看这个问题吧,我实在很急
bonnie135 2004-08-11
  • 打赏
  • 举报
回复
C++中的lib库中有很多函数,我都声明了extern "C" void __stdcall形式,但是调用时,我只想调用其中的一部分函数
obj怎么调用呢?我用{$L encrypt.obj}编译错误
[Error] Unit1.pas(38): Bad object file format: 'F:\liuyan\delphiÀý×Ó\Á·Ï°\н¨Îļþ¼Ð\encrypt.h'
好像时错误的文件格式
帮帮忙!
aiirii 2004-08-11
  • 打赏
  • 举报
回复
我知道可以调用 obj 的
zblaoshu1979 2004-08-11
  • 打赏
  • 举报
回复
不要编译成lib,编译成DLL,然 后在DILPHI中引用用就可调用DLL中的函数了
2.1.1 Visual C++ 6.0 的使用 (1) 启动Visual C++ 6.0,新建一个工程; (2) 将下载的动态链接压缩包里VC文件的动态链接、头文件lib文件复制到工程文件; 第 2 章 运动控制器函数的使用 15 © 1999-2019 固高科技版权所有 (3) 选择“Project”菜单下的“Settings…”菜单项; (4) 切换到“Link”标签页,在“Object\library modules”栏输入lib文件名,例如gts.lib; (5) 在应用程序文件加入函数文件的声明,例如:#include “gts.h”; 至此,用户就可以在Visual C++调用函数的任何函数,开始编写应用程序。 对于步骤(4),还有一种比较简便的方法,那就是在应用程序文件里面添加包含链接文件的声 明,例如:#pragma comment ( lib,"gts.lib" ) 。 上述关于Visual C++ 6.0调用GTS函数的方法同样适用于使用Visual Studio平台开发。 2.1.2 Visual Basic 6.0 的使用 (1) 启动Visual Basic,新建一个工程; (2) 将下载的动态链接压缩包里VB6.0文件的动态链接和函数声明文件复制到工程文 件夹; (3) 选择“工程”菜单下的“添加模块”菜单项; (4) 切换到“现存”标签页,选择函数声明文件,例如gts.bas,将其添加到工程当; 至此,用户就可以在Visual Basic调用函数的任何函数,开始编写应用程序。 2.1.3 Delphi 的使用 (1) 启动Delphi,新建一个工程; (2) 将下载的动态链接压缩包里Delphi文件的动态链接和函数声明文件复制到工程文 件夹; (3) 选择“Project”菜单下的“Add to Project…”菜单项; (4) 将函数声明文件添加到工程当; (5) 在代码编辑窗口,切换到用户的单元文件; (6) 选择“File”菜单下的“Use Unit…”菜单项,添加对函数声明文件的引用; 至此,用户就可以在Delphi调用函数的任何函数,开始编写应用程序。 2.1.4 VB.NET 的使用 (1) 启动Visual Studio,按照“File”->"New",选择建立VB工程; (2) 将下载的动态链接压缩包里VB.NET文件的动态链接和函数声明文件复制到工程 文件,注意:gts.dll应复制到"..\bin"文件的debug或者release文件; (3) 选择“project”菜单下的“Add existing Item”菜单项,选择函数声明文件,如gts.vb,将其添加 到工程当; 至此,用户就可以在Visual Studio使用VB.NET模块调用函数的任何函数,开始编写应用 程序。 第 2 章 运动控制器函数的使用 16 © 1999-2019 固高科技版权所有 2.1.5 Visual C#的使用 (1) 启动Visual Studio,按照“File”->"New",选择建立C#工程; (2) 将下载的动态链接压缩包里C#文件的动态链接和函数声明文件复制到工程文件,注意:gts.dll应复制到"..\bin"文件的debug或者release文件; (3) 选择“project”菜单下的“Add existing Item”菜单项,选择函数声明文件,如gts.cs,将其添加 到工程当; 至此,用户就可以在Visual Studio使用C#模块调用函数的任何函数,开始编写应用程序。
Visual C++6.0使用GDI+的一般方法 1. 载解压GDI+开发包; 2. 正确设置include & lib 目录; 3. stdafx.h 添加: #ifndef ULONG_PTR #define ULONG_PTR unsigned long* #endif #include 4. 程序添加GDI+的包含文件gdiplus.h以及附加的类gdiplus.lib。 通常gdiplus.h包含文件添加在应用程序的stdafx.h文件,而gdiplus.lib可用两种进行添加: 第一种是直接在stdafx.h文件添加下列语句: #pragma comment( lib, "gdiplus.lib" ) 另一种方法是: 在VC.net添加文件在:项目菜单->属性->链接器->输入 举个例子: (1)在应用程序项目的应用类,添加一个成员变量,如下列代码: ULONG_PTR m_gdiplusToken; 其,ULONG_PTR是一个DWORD数据类型,该成员变量用来保存GDI+被初始化后在应用程序的GDI+标识,以便能在应用程序退出后,引用该标识来调用Gdiplus:: GdiplusShutdown来关闭GDI+。 (2)在应用类添加ExitInstance的重载,并添加下列代码用来关闭GDI+: int CGDITestApp::ExitInstance() { Gdiplus::GdiplusShutdown(m_gdiplusToken); return CWinApp::ExitInstance(); } (3)在应用类的InitInstance函数添加GDI+的初始化代码: 注意:下面这些GDI+的初始化代码必须放在m_pMainWnd->UpdateWindow();之前。 CWinApp::InitInstance(); Gdiplus::GdiplusStartupInput gdiplusStartupInput; Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL); (4)在需要绘图的窗口或视图类添加GDI+的绘制代码。 下面分别就单文档和基于对话框应用程序为例,说明使用GDI+的一般过程和方法。 1. 在单文档应用程序使用GDI+ 在上面的过程,我们就是以一个单文档应用程序Ex_GDIPlus作为示例的。下面列出第4步所涉及的代码: void CGDITestView::OnDraw(CDC* pDC) { CGDITestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here usingnamespace Gdiplus; Graphics graphics(pDC->m_hDC); Pen newPen(Color(255,0,0),3); HatchBrush newBrush(HatchStyleCross,Color(255,0,255,0),Color(255,0,0,255));//创建一个填充画刷,前景色为绿色,背景色为蓝色 graphics.DrawRectangle(&newPen,50,50,100,60);// 在(50,50)处绘制一个长为100,高为60的矩形 graphics.FillRectangle(&newBrush,50,50,100,60); // 在(50,50)处填充一个长为100,高为60的矩形区域 } 编译并运行,结果如图:

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧