首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的程序只在一个特定的位置使用DLL时才能运行?

为什么我的程序只在一个特定的位置使用DLL时才能运行?
EN

Stack Overflow用户
提问于 2014-01-11 18:18:33
回答 1查看 162关注 0票数 1

我用Tcl/Tk的C编写了一个Windows程序来创建一个很好的GUI。我已经为依赖项安装了ActiveState ActiveTcl,一切都很好地编译和运行。编译要求我根据ActiveTcl提供的导入库进行链接。

既然我想分发这个程序,我必须选择如何处理对ActiveTcl的依赖。一种选择是要求在我的程序之前安装ActiveTcl,而另一种选择是只分发我的程序实际使用的ActiveTcl DLL。

如果我使用依赖沃克查看我的程序,我可以看到使用了三个ActiveTcl DLL。tcl86.dlltk86.dllzlib1.dll。所以我试着移动DLL的。

如果我将这些DLL移动到C:\Windows文件夹或程序的文件夹,程序将不再起作用。在移动DLL并在dependency中查看程序之后,我可以看到DLL在这些替代位置中被找到,但是程序拒绝启动。我连一个错误都没有。

你们知道为什么会这样吗?我的程序唯一运行的时间是如果DLL位于ActiveTcl (C:\Tcl\bin)的安装目录中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-09 18:41:47

DDL对应该存在于同一文件夹中的其他文件具有依赖关系。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21066071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档