社区
C++ 语言
帖子详情
.h生成DLL文件
qizhg
2007-08-15 02:24:23
现在有DXXXLIB.H文件,我怎么才能把它编译成DLL文件,让其它程序可以引用其中的函数,本人不会C++,请说明过程。
...全文
743
18
打赏
收藏
.h生成DLL文件
现在有DXXXLIB.H文件,我怎么才能把它编译成DLL文件,让其它程序可以引用其中的函数,本人不会C++,请说明过程。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
做鸡真好吃
2007-09-09
打赏
举报
回复
mark~
iambic
2007-08-16
打赏
举报
回复
误用。
iambic
2007-08-16
打赏
举报
回复
楼主应该是滥用了.h和.c。
hoholine2007
2007-08-16
打赏
举报
回复
关注........
星羽
2007-08-16
打赏
举报
回复
如果实现都放在.h里,那还有dll干什么,直接include就可以用了
qizhg
2007-08-16
打赏
举报
回复
非常感谢seysey() 的回复,我还是有点不明白,如果我的一个.H文件名叫作XX.H,在程序中应该包括这个文件啊,我用的是2005,按你的作了编译没通过
qizhg
2007-08-16
打赏
举报
回复
老板让我用语音卡(Intel Dialogic 语音卡)开发个电话查询的东西,给的是.h的东东,我对C++一点不了解,以前开发用的是PB和C#,给我的期限是1个月,如果学C++,一个月我有可能完成任务么。
qizhg
2007-08-16
打赏
举报
回复
考过去没问题了,可是调用函数时提示“错误 15 error LNK2028: 无法解析的标记(0A00000E) "extern "C" int __cdecl gc_AcceptCall(long,int,unsigned long)”
是不是不光头文件,还得有对应得库文件啊
seysey
2007-08-16
打赏
举报
回复
你把涉及到的.h文件都放到你安装vs2005目录下好像是vc7的stl的include文件夹下。然后不用管目录了,直接#include "****.h"就可以了
lidongri
2007-08-16
打赏
举报
回复
然后再仔细做一遍他的习题
lidongri
2007-08-16
打赏
举报
回复
看一遍c++ primer
你就会明白许多
qizhg
2007-08-16
打赏
举报
回复
看来我是真不适合用C++,越来越迷糊了,应该先找本最简单的书看看,在问个问题吧,我怎么引用.H,我把我用的那个GCLIB.H拷贝到新建的项目目录用#INCLUDE GCLIB.H,但在GCLIB.H里还有好多#INCLUDE XXX.H我都要拷贝过来啊,能不能指定一下目录,我什么也库用考,就想引用"stdafx.h"那样引用那些外部的头文件啊
seysey
2007-08-16
打赏
举报
回复
第一个注意的地方:建立一个dynamic-link library工程,而不是其他类型的工程,
第二个注意的地方,包含的头文件路径要正确。如果dlltest和使用dll的工程exetest在同一 个目录下,那用我上面的头文件路径就可以
第三个注意的地方,把生成的dll文件拷贝到要用的主函数中,和其他.cpp,.h放一起
第四个注意的地方,要用到dll中的函数的主函数中,#pragma的路径也要正确
canybox
2007-08-15
打赏
举报
回复
大致是楼上所说的,声明导出就可以了
seysey
2007-08-15
打赏
举报
回复
生成一个简单的DLL,其中有一个disp()函数。
步骤
打开VC6.0->File->New->Project->Win32 Dynamic-link library,project name: testdll
->finish
project->add to project->new->C/C++ Header File. .h name: testdll
project->add to project->new->C++ source File. .cpp name: testdll
************************************************************************
.h内容:
#ifdef DLL_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
extern "C" DLL_API void disp();
××××××××××××××××××××××××××××××××××××××
.cpp内容
#include "testdll.h"
#include "iostream"
void disp()
{
printf("testdll->disp()\n");
}
×××××××××××××××××××××××××××××××××
编译链接后,在debug目录下出现testdll.lib和testdll.dll。
然后你哪个程序要用,就把testdll.dll拷贝到该工程目录下,并且在该工程目录头文件中包含testdll.h头文件,如#include "../testdll/testdll.h"
程序中加入#pragma comment(lib, "..\\testdll\\debug\\testdll.lib")
就可以直接在程序中调用disp了。
qizhg
2007-08-15
打赏
举报
回复
那在c++中用#include .h 怎么就能使用里面的函数啊,我也想用这些函数,但我不会C++,所以想怎么把它变成DLL,我好用别的调这些函数
hzcpig
2007-08-15
打赏
举报
回复
.h只是头文件....不能生成dll....
qizhg
2007-08-15
打赏
举报
回复
我的问题怎么没人回答啊,是不能这么实现还是很难实现啊
c语言.h
文件
怎么
生成
dll
,[转载]C/C++中
生成
和使用
DLL
有C++的源
文件
,怎么能
生成
dll
文件
?1.新建一个MFC
DLL
或Win32
DLL
工程2.创建好后里面会有stdafx.h和stdafx.cpp以及{$工程名}.cpp
文件
3.删除{$工程名}.cpp
文件
将你的cpp
文件
添入工程4.修改你的cpp
文件
添加一句#include "stdafx.h"在代码第一行3和4,或者直接复制自己的C++源
文件
覆盖{$工程名}.cpp
文件
中除第一句#inc...
vs +qt 打包.cpp和.h为
DLL
文件
vs +qt 打包.cpp和.h为
DLL
文件
.
dll
、.lib、.h的
生成
导出和调用其他第三方库的相关这个
动态库相关的使用 目录 动态库相关的使用 1.选择
生成
.
dll
项目
文件
; 2.编写自己的多个.h和.cpp
文件
, 当功能函数,或者所需要的接口或者类都给完成了之后,选择
生成
(而不是点击调试运行 Crtl+F5) 3.将
生成
的*.
dll
和*.lib
文件
都直接导出到自定义的指定目录 4.VS
生成
*.exe
文件
到指定目录 5.包含指定的.h和.lib
文件
夹,方便使用和调用。 ...
Java:使用javah
生成
.h
文件
并完成
dll
调用
当前环境:jdk1.8、vs2015 1. 声明 当前内容主要为javah的使用,并完成
dll
打包操作并实现java调用
dll
文件
主要内容: 使用javah
生成
.h
文件
使用vs studio 2015实现.h
文件
并打包为
dll
使用java方式调用
dll
2. 使用javah
生成
.h
文件
javah用于native方法的.h
文件
生成
1.创建具有native的类 public class JavahTest { public void show() { System.out.println("
.h头
文件
.lib库
文件
.
dll
动态库
文件
之间的关系
.h头
文件
是编译时必须的,lib是链接时需要的,
dll
是运行时需要的。 附加依赖项的是.lib不是.
dll
,若
生成
了
DLL
,则肯定也
生成
LIB
文件
。如果要完成源代码的编译和链接,有头
文件
和lib就够了。如果也使动态连接的程序运行起来,有
dll
就够了。在开发和调试阶段,当然最好都有。 .h .lib .
dll
三者的关系是: H
文件
作用是:声明函数接口
DLL
文件
作用是: 函数可执行代码
C++ 语言
65,180
社区成员
250,527
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章