加载QLibrary后删除dll

时间:2016-10-14 14:44:31

标签: c++ qt dllimport

我使用QLibrary来解析QT程序中的符号。我需要在应用程序运行时更新库。所以我尝试删除当前库文件,但文件被我的应用程序锁定。

QLibrary lib("mylib.dll");
if (lib->load())
    myfun = (MyFun) lib.resolve("myfun");
lib.unload();
myfun();
QFile::remove("mylib.dll"); // error on windows, success on linux mylib.so

它在linux上运行良好,但在Windows上无效。

我还尝试在应用程序运行时手动删除mylib.dll,并在myapp.exe中打开错误"文件"。

我使用QT 5.7和msvc2015 compiller。

0 个答案:

没有答案