假设我有两个库,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将返回false。
问题是我想把A.dll和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."
发布于 2014-03-12 20:19:51
尝试使用SetDllDirectory,请参阅http://msdn.microsoft.com/en-us/library/ms686203%28VS.85%29.aspx
发布于 2014-10-22 12:25:35
您应该将C:/Project/lib的路径添加到系统环境中,或者从Projects选项卡添加到QT中,编辑path变量(将路径添加到库中)
https://stackoverflow.com/questions/22354639
复制相似问题