社区
Delphi
帖子详情
应用程序和DLL同时“Build with runtime library”,
eFainter
2014-12-20 10:48:31
前几天发了一个贴“主程序调用DLL,嵌入到主程序的PANEL,运行是有时候出现USER32.DLL错误”
http://bbs.csdn.net/topics/390953827
有兄弟回复应用程序和DLL同时“Build with runtime library”, 这个什么意思,该怎么操作 ?谢谢
...全文
136
4
打赏
收藏
应用程序和DLL同时“Build with runtime library”,
前几天发了一个贴“主程序调用DLL,嵌入到主程序的PANEL,运行是有时候出现USER32.DLL错误” http://bbs.csdn.net/topics/390953827 有兄弟回复应用程序和DLL同时“Build with runtime library”, 这个什么意思,该怎么操作 ?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aniugee
2014-12-23
打赏
举报
回复
1. 主控程序和各插件工程中,BUILD WITH RUNTIME PACKAGE都勾选上。整个程序运行的时候,保障了所有的VCL对象只有唯一的一份,杜绝了VCL对象相互之间发生冲突的可能性。此种方式最为稳定和安全,建议使用此方式。但此种方式有一个缺点:发布程序的时候,DELPHI RTL包,第三方控件的BPL运行时包要一起打包发布,否则程序将不能运行。此种方式编译出来的EXE/DLL/BPL一般体积会比较小,往往只有几百K,因为运行时包没有编译进来。 2. 主控程序和各插件工程中,BUILD WITH RUNTIME PACKAGE都不勾选上。整个程序运行的时候,同一个VCL对象可能存在有多份,容易产生对象访问的冲突。在使用一些三方控件的时候,更加容易发生冲突。此种方式也可行,一般在装载DLL的时候需要传递主控程序的APPLICATION给DLL(要保存好DLL原来的APPLICATION),在DLL释放的时候则要还原DLL原来的APPLICATION, 否则在释放DLL的时候会报“非法访问内存”的错误。此种方式也有一好处:发布程序的时候,DELPHI RTL包,第三方控件的BPL运行时包不要打包进来。此种方式编译出来的EXE/DLL/BPL一般体积会比较大,往往有几M,因为运行时包都编译进来了。
不得闲
2014-12-23
打赏
举报
回复
就是带包编译,编译之后,你需要在其他电脑上带上你带包的那几个包才能运行,否则是运行不起来的
lyhoo163
2014-12-21
打赏
举报
回复
“Build with runtime library”这是C++中的提法。
Delphi的提法:“Build with runtime packages”
意思就是:你在编译EXE和Dll时,使用IED中选择Build with runtime packages,达到编译的EXE和Dll,都“创建时运行动态包(库)”。
建议:如果你采取Build with runtime packages,EXE和Dll都不带包编译,运行时要将包文件,拷贝到相关目录。
eFainter
2014-12-21
打赏
举报
回复
兄弟,救命啊
Visual Studio 设置里的
Runtime
Library
如下图所示,C++的工程里,C/C++ ----&...
Runtime
LIbrary
下一共有四个选项,这些代表什么意思呢 概念解析 在这方面,经常看到以下名词:
Runtime
Library
MSVCRT libcmt.lib LIBC.LIB LIBCMT.LIB CRT
DLL
.LIB ...
C
RunTime
Library
和C++
RunTime
Libaray详解(CRT)
crt是系统运行的基础,包含了c常用的函数集,为运行main做了初始化环境变量、堆、io等资源,并在结束...动态运行时库主要是
DLL
库文件msvcrt.
dll
(or MSVCRTD.
DLL
for debug
build
),对应的Import
library
文件是MSVCRT.LIB
C
Runtime
Library
的来历
msvcrt.
dll
(名称:Microsoft C
Runtime
Library
)提供了printf,malloc,strcpy等C语言库函数,并且为使用C/C++(Vc)编绎的程序提供了初始化(如获取命令行参数)以及退出等功能. C
Runtime
Library
的来历, API, STL,...
Microsoft Visual C++
Runtime
Library
_Debug Assertion Failed!
[8]MFC Windows
应用程序
设计(第3版). 任哲 等编著. 清华大学出版社:14~15 [9] ASSERT(afxCurrentInstanceHandle!=NULL) [10] 调用HINSTANCE hInst = AfxGetInstanceHandle();程序在ASSERT...
cmake设置msvc的运行库(
runtime
library
)塈指定openjpeg使用静态库
FALSE) if(NOT WITH_CRT_
DLL
) # for循环修改所有CMAKE__FLAGS开关的编译选项变量,用正则表达式将/MD替换成/MT # Use the static C
library
for all
build
types foreach(var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG ...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章