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); ...... }