
[英]Why can't Visual Studio compile my QT Project because it doesn't find the libraries?
[英]Why can't Visual Studio find my DLL? [duplicate]
在 Visual Studio 2010 中,在VC++ Directories > Executable Directories
下,我指定了glew32d.dll
的路径。 但是,当我运行可执行文件时,它仍然会抱怨。
另一方面,如果我将 DLL 复制到本地文件夹并运行可执行文件,它不会抱怨。
有人可以告诉我如何解决这个问题吗? 另外,为什么 Visual Studio 无法识别该路径?
更新场景:我目前使用一个模板项目,我用它作为我很多项目的起始代码。 此模板依赖 glew32d.dll。 我通常将所有依赖的 dll 存储在一个公共的 bin 文件夹中。 我希望引用这个文件夹,Visual Studio 可以从那里读取 dll,而不必每次都复制 dll。 什么是处理这个问题的好方法?
我在同一个库中遇到了同样的问题,在 SO 上找到了解决方案:
在 MSDN 中搜索“如何:为项目设置环境变量”。 (对于那些匆忙的人来说,它是项目>属性>配置属性>调试“环境”和“合并环境”属性。)
语法为 NAME=VALUE,可以使用宏(例如,$(OutDir))。
例如,要将 C:\\Windows\\Temp 添加到 PATH:
PATH=C:\\WINDOWS\\Temp;%PATH%
类似地,要将 $(TargetDir)\\DLLS 附加到 PATH:
PATH=%PATH%;$(TargetDir)\\DLLS
(此处由多重共线性回答: 如何在 Visual Studio 中设置路径?
尝试“配置属性 -> 调试 -> 环境”并在运行时设置 PATH 变量
添加到奥列格的答案:
通过将 Visual Studio 的$(ExecutablePath)
附加到 Configuration Properties->Debugging 中的 PATH 环境变量,我能够在运行时找到 DLL。 这个宏正是在 Configuration Properties->VC++ Directories->Executable Directories 字段中定义的内容*,所以如果你有这个设置来指向你需要的任何 DLL,只需将它添加到你的 PATH 中就可以轻松地在运行时找到 DLL!
* 我实际上不知道$(ExecutablePath)
宏是使用项目的可执行目录设置还是全局属性页的可执行目录设置。 由于我通过属性页配置了我经常使用的所有库,因此这些目录显示为我创建的任何新项目的默认值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.