Pat*_*ryk 7 c++ dll visual-studio
我知道这已经在这里讨论了,但是我没有找到我想要的问题,即:我有一个C++应用程序,它使用了很多(超过20-30个)DLL.我已经在我的Visual Studio 2010项目中定义了.exe将被复制到ProjectDir(这样一切都很整洁)但是当.exe单独站在ProjectDir中时它无法访问存储在bin中的DLL. //任何文件夹以及许多其他文件.
我可以以某种方式指向DLL文件夹,以便应用程序知道它们的位置吗?(并且<myapp>.exe.local文件夹在我的Windows 7中不起作用)
首先,无需将 exe 文件复制到项目目录,无论您在调试项目时在何处创建 .exe 文件,运行目录都将是您的项目目录。之后,当您尝试导入 dll 时,如果您相对 Windows 查找它,首先在运行目录中搜索该 dll,然后它会检查是否可以在定义的系统 PATH 变量的任何目录中找到该 dll,但是如果您检查对于绝对地址,将无需查找。
因此,第一个技巧是将所有 dll 路径设置为绝对,这样就不需要搜索,并且可以轻松导入 dll,但如果您想将应用程序移动到另一台计算机(例如),则会出现很多问题HINSTANCE hDLL = LoadLibrary(L"C:\\mydll.DLL");。其次,您可以给出相对于运行目录的 dll 路径(不是应用程序路径,这两个路径可能不同),您也可以为其指定目录(例如HINSTANCE hDLL LoadLibrary("..\\dlls\\mydll.dll")
| 归档时间: |
|
| 查看次数: |
16860 次 |
| 最近记录: |