假设我有两个库,A.dll
和B.dll
。库A
取决于B
。我想将A
加载到我的项目中。
我的项目位于C:/Project
。如果我同时将A.dll
和B.dll
保留在C:/Project
中,我可以加载A
:
QLibrary lib("A");
lib.load();
这很好用。如果load()
中B.dll
不在C:/Project
,A.dll
将返回false。
问题是我想在B.dll
中同时保留C:/Project/lib
和QLibrary lib("C:/Project/lib/A");
lib.load();
。但当我将两个库移动到该位置并尝试加载时:
A.dll
失败了。但是,如果我将C:/Project/lib
B.dll
和C:/Project
C:/Project/lib
保留在A.dll
中,则此方法有效。
如何将这两个库保留在"Cannot load library C:/Project/lib/A . The specified module could not be found."
并成功加载{{1}}?
修改:我收到的错误消息为{{1}}
答案 0 :(得分:1)
尝试使用SetDllDirectory,请参阅http://msdn.microsoft.com/en-us/library/ms686203%28VS.85%29.aspx
答案 1 :(得分:0)
您应该在系统环境中添加C:/ Project / lib的路径,或者从Projects选项卡添加到QT Creator中编辑Path变量(添加库的路径)