Visual Studio C++设置EXE和DLL在不同路径

VC++项目生成的exe和dll,一般都会同一个在debug或release目录下,这样可能会造成不同版本第三方库的dll互相冲突的问题,需要将不同版本的dll放到不同的运行目录,让exe程序在运行时自动在指定的目录查找并加载dll。

1、将直接依赖的ConvLibc.dll及它间接依赖的dll放入到./debug/depends目录下。

2、在工程属性页->链接器->输入->延迟加载的DLL项中,将直接引用的DLL名称填入。

 3、在程序代码中设置dll运行路径。注:如果在调试模式出现引用错误,在可将相对路径改为绝对路径。

#include <Windows.h>
#include <libloaderapi.h>

int main()
{
       const char* dllPath = ".\\depends";
       SetDllDirectory(dllPath);
       ......

}

 

posted @ 2024-06-04 14:45  松山居士  阅读(352)  评论(0编辑  收藏  举报