社区
ActiveX/COM/DCOM
帖子详情
C++Buidler开发的DLL在另一个C++Buidler工程中使用静态库如何在运行的的时候不需要DLL?
ansili
2008-11-20 11:07:12
C++Buidler开发的DLL在另一个C++Buidler工程中使用他的静态库如何在运行的的时候不需要DLL?
...全文
283
29
打赏
收藏
C++Buidler开发的DLL在另一个C++Buidler工程中使用静态库如何在运行的的时候不需要DLL?
C++Buidler开发的DLL在另一个C++Buidler工程中使用他的静态库如何在运行的的时候不需要DLL?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
29 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ssypas
2008-12-26
打赏
举报
回复
[Quote=引用 26 楼 android2008 的回复:]
mark
[/Quote]
唉,怎么就好绕山绕水呢?即麻烦又何必呢。或许“有时候需要”真的是如23楼所说了。
android2008
2008-11-25
打赏
举报
回复
mark
jaffy
2008-11-25
打赏
举报
回复
[Quote=引用 24 楼 Behard 的回复:]
真是不知道说什么好!
知道 DLL 出现是为了解决什么问题吗?
其中一个就是为了修改 DLL 本身不需要修改主程序
(动态调用或者静态调用不改变函数接口)
[/Quote]
是啊,感觉如果想楼主这么用,干吗要用DLL
shiweifu
2008-11-25
打赏
举报
回复
静态编译吧。。需要LIB文件,LZ看下MFC相关解决办法,应该是相同的
Behard
2008-11-25
打赏
举报
回复
真是不知道说什么好!
知道 DLL 出现是为了解决什么问题吗?
其中一个就是为了修改 DLL 本身不需要修改主程序
(动态调用或者静态调用不改变函数接口)
hnzlk
2008-11-25
打赏
举报
回复
有时候需要。我以前也没试验过。今天弄了一下,真可以。不过有点麻烦。
得用BCB建立一个library,然后把dll工程的文件加进去,然后编译,实现不用dll.嘿嘿,有点麻烦。
BCBPLC
2008-11-24
打赏
举报
回复
把.DLL打包在.exe,没有大的技术用处,
唯一的好处是把别人有版权的.dll藏起来而已.
jaffy
2008-11-24
打赏
举报
回复
转妖哥发的个帖子
C++Builder和VC的Dll共用的确是一件麻烦事。下面给你举个例子:
C++Builder中,new一个Dll Wizard,不选用VCL,然后添加以下代码(注意导出函数使用的是__cdecl):
// 声明:
extern "C " __declspec(dllexport)
int __cdecl TransExcel(char *sReportFile,char *sSheetName,char *sExcelFile);
// 定义:
int __cdecl TransExcel(char *sReportFile,char *sSheetName,char *sExcelFile)
{
MessageBox(0, sReportFile, sSheetName, 0);
return 0;
}
然后手工建立一个1.def文件,并添加到工程中(Project--> Add to Project):
EXPORTS
TransExcel = _TransExcel
保存工程,并编译,假设生成Project1.dll。
接下来,需要在控制台下生成两个文件:
运行impdef project1.def project1.dll 生成VC使用的project1.def
运行lib /def:project1.def /machine:i386 生成VC使用的project1.lib
在VC中:
// 注意这里的Project1.lib文件路径
#pragma comment (lib, "Project1.lib ")
extern "C " int __cdecl TransExcel(char *sReportFile,char *sSheetName,char *sExcelFile);
然后就可以调用了:
TransExcel( "文件名称哈哈 ", "表名。 ", "保留 ");
我觉得必须保证你新建工程时选的是LIB类型而不是DLL类型时
jaffy
2008-11-24
打赏
举报
回复
implib只能生成DLL的列表啊,如何编译成带OBJ的啊
filec75
2008-11-24
打赏
举报
回复
不懂,up
filec75
2008-11-23
打赏
举报
回复
ding
___NULL
2008-11-22
打赏
举报
回复
如果对方给你的事LIB,你可以不用DLL,但如果仅仅给了DLL,就无法静态编译(编译为独立执行文件),否则你最多能做到静态加载
filec75
2008-11-22
打赏
举报
回复
up
vbcrack
2008-11-21
打赏
举报
回复
还需要在编译DLL时采用release吧
僵哥
2008-11-21
打赏
举报
回复
[Quote=引用 12 楼 xabcxyz 的回复:]
我看有人说话不够客气,不要急躁啊,搞技术谁没有坐井观天的时候呢?
把obj包含在工程文件代替lib文件中即可。
[/Quote]
对于某些拿无知当个性,从来不讲客气的,就无须客气。
xabcxyz
2008-11-21
打赏
举报
回复
我看有人说话不够客气,不要急躁啊,搞技术谁没有坐井观天的时候呢?
把obj包含在工程文件代替lib文件中即可。
filec75
2008-11-21
打赏
举报
回复
不懂,up
filec75
2008-11-21
打赏
举报
回复
ding
filec75
2008-11-21
打赏
举报
回复
不懂,帮顶
僵哥
2008-11-20
打赏
举报
回复
[Quote=引用 5 楼 ansili 的回复:]
拿到DLL的LIB文件,然后在其它的项目中进行静态引入.关联后,不需要DLL文件.
不行的。
[/Quote]
DLL是动态库,需要把它编译成静态库,通常扩展名是.lib,然后链接进程序当中就不需要动态库了。
加载更多回复(9)
实用代码脚本易语言源码时间
实用代码脚本易语言源码时间
实用代码脚本易语言源码设置控件锚点
实用代码脚本易语言源码设置控件锚点
64:点控大师:自定义快捷键驱动的鼠标自动化工具高效简化重复操作软件.rar
64:点控大师:自定义快捷键驱动的鼠标自动化工具高效简化重复操作软件
复现新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或
工程
应用的研究生及初级科研人员(工作1-3年);;
使用
场景及目标:①复现高水平期刊
中
关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与
运行
研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与
工程
应用场景的理解,提升科研效率与创新能力。
108:桌面日程提醒工具-安静版:半透明悬浮标签展示待办任务,支持固定时间与范围时间任务,按星期多时段自定义.rar
108:桌面日程提醒工具-安静版:半透明悬浮标签展示待办任务,支持固定时间与范围时间任务,按星期多时段自定义
ActiveX/COM/DCOM
703
社区成员
3,001
社区内容
发帖
与我相关
我的任务
ActiveX/COM/DCOM
C++ Builder ActiveX/COM/DCOM
复制链接
扫一扫
分享
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章