Visual Studio - C ++ - 构建并运行应用程序为32位或64位 - 从appropripate ProgramFiles目录加载DLL

时间:2017-10-03 08:08:30

标签: c++ windows visual-studio x86-64

我将我的应用程序构建为x86或x64。这个程序使用外部DLL。

我有x64系统(Windows 10),为两个平台安装了相同的DLL库 - x86和x64。它们放在相应Program Files目录中的相同文件夹中。我可以手动设置路径到环境变量PATH中的任何一个,并且它可以运行。但是当我切换平台并想要测试另一个时,重写PATH并重置计算机有点不耐烦。有没有解决方案,系统如何从正确的Program Files目录中自动加载正确的DLL?

2 个答案:

答案 0 :(得分:0)

将DLL复制到可执行文件旁边的构建位置,对于VS,这通常是依赖于体系结构的子目录(即x86或x64)中的\ Debug或\ Release。只需确保在项目设置中正确设置目标/输出位置。

您只需要复制一次或更准确一次:每次清理后#39;解决方案。为了简化这一过程,许多人使用dll-copy脚本(batch,ruby或python)并让它在构建之前或清理之后自动运行。您可以在项目设置中的预构建步骤或构建后步骤中调用脚本。

您还可以深入了解CMake,我真的建议您将构建矩阵组织起来。它还安装了预构建和后构建操作,例如跟踪依赖关系,复制文件,打包,安装,版本验证等。但最终您仍然需要学习如何操作相同的项目设置,这是一个很好的学习曲线。

答案 1 :(得分:0)

我找到了从Visual Studio运行应用程序的解决方案:How do I set the path to a DLL file in Visual Studio?

它正在起作用。如果我运行app outise Visual Studio,我自己设置PATH变量并且也在工作。