我碰到一个问题,就是有两套动态库,都使用了同一个dll文件,只不过版本不一样,而我的程序又需要分别调用这两套动态库,所以我目前的做法就是,把两套动态库都放在一起,将名称一样的dll只保留一份,但是我发现不管是保留新的还是旧的,未保留的那套dll就无法调用了。
我又想到一个办法,就是把两套dll分别放在不同的文件夹下,然后再想办法使用,但是目前我不清楚这样行不行,请问大家有没有什么好办法解决一下?
我又想到一个办法,就是把两套dll分别放在不同的文件夹下,然后再想办法使用,但是目前我不清楚这样行不行,请问大家有没有什么好办法解决一下?
1,是两套动态库,不是两个动态库文件
2,两套动态库文件中有一些dll是一样的,仅仅版本不一样
3,我调用其中一套动态库时,不是加载所有的dll,而是其中一个dll,然后由他去调用其他的dll
4,那些冲突的dll,不是由我直接调用
这样应该清楚了吧,zgl7903的建议,如果是两个文件,那就解决问题了。
我自己也在研究中,如果有结果,我再贴上来,也希望朋友们帮助我一下。
::LoadLibraryEx(strPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH)
其中,strPath就是要加载的dll的绝对路径,然后系统会自己去搜索dll目录下的其他dll。