bra*_*ter 46 c++ dll visual-studio-2010 visual-studio visual-c++
在Visual Studio 2010中,VC++ Directories > Executable Directories我已指定了路径glew32d.dll.但是,当我运行可执行文件时,它仍然会抱怨.
另一方面,如果我将DLL复制到本地文件夹然后运行可执行文件,它不会抱怨.
有人可以告诉我如何解决这个问题吗?另外,为什么Visual Studio无法识别该路径?
更新 场景:我目前使用的模板项目用作许多项目的入门代码.此模板取决于glew32d.dll.我通常将所有相关的dll存储在一个公共bin文件夹中.我希望引用这个文件夹,Visual Studio可以从那里读取dll,而不是每次都要复制dll.处理这个问题的好方法是什么?
Cod*_*ray 60
在项目的设置中指定DLL文件的路径并不能确保您的应用程序
在运行时找到DLL.您只告诉Visual Studio如何查找所需的文件.这
与程序在构建后如何找到所需内容无关.
将DLL文件放在与可执行文件相同的文件夹中是迄今为止最简单的解决方案.这是依赖项的默认搜索路径,因此如果你走这条路线,你就不需要做任何特别的事情了.
为避免每次都必须手动执行此操作,您可以为项目创建一个构建后事件,该事件
将在构建完成后自动将DLL复制到相应的目录中.
或者,您可以将DLL部署到Windows 并排缓存,并向应用程序添加指定位置的清单.
小智 41
我在同一个lib上遇到了同样的问题,在SO上找到了一个解决方案:
在MSDN上搜索"如何:为项目设置环境变量".(这是项目>属性>配置属性>调试"环境"和"合并环境"属性,适合那些忙碌的人.)
语法是NAME = VALUE,可以使用宏(例如,$(OutDir)).
例如,要将C:\ Windows\Temp添加到PATH:
Run Code Online (Sandbox Code Playgroud)PATH=C:\WINDOWS\Temp;%PATH%同样,要将$(TargetDir)\ DLLS附加到PATH:
Run Code Online (Sandbox Code Playgroud)PATH=%PATH%;$(TargetDir)\DLLS
(这里由Multicollinearity回答:如何在visual studio中设置路径?
小智 5
添加到Oleg的答案:
通过将Visual Studio附加$(ExecutablePath)到Configuration Properties-> Debugging中的PATH环境变量,我能够在运行时找到DLL .这个宏正是在Configuration Properties-> VC++ Directories-> Executable Directories字段*中定义的,所以如果你有这个设置指向你需要的任何DLL,只需将它添加到你的PATH就可以轻松找到运行时的DLL!
*我实际上不知道$(ExecutablePath)宏是否使用项目的可执行目录设置或全局属性页的可执行目录设置.由于我拥有通常使用属性页配置的所有库,因此这些目录显示为我创建的任何新项目的默认值.
| 归档时间: |
|
| 查看次数: |
160295 次 |
| 最近记录: |