首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QLibrary在调用加载方法时冻结

QLibrary在调用加载方法时冻结
EN

Stack Overflow用户
提问于 2019-03-26 17:58:18
回答 1查看 63关注 0票数 0

有一个由几个组件组成的大项目,以dll的形式呈现。在一个组件中,我使用QLibrary来调用中的代码。以前,一切都运行得很好,dll被加载,一切都正常工作,然而,在更改了dll代码并重新编译它之后,在一次启动时,当我调用load方法时,程序就挂起了。

我试图清理整个项目并从头开始重新构建它,但是当我调用boot方法时,执行总是停止。它不会给出任何错误。在加载之前调用的isLibrary会确认库是否被正确选择。

代码语言:javascript
复制
void libLoad( QLibrary &lib, const QString &fileName ) {

    lib.setFileName( fileName + dllVersionString );

    auto name = lib.fileName( );    //just to make sure the name is correct
    auto isLibrary = lib.isLibrary( fileName + dllVersionString );  //just to make sure dll is found

    if ((lib).load( )) { //work stops here
        qDebug( ) << QString( "library " + lib.fileName( ) + " loaded" );
    } else {
        throw QString( QString::fromLocal8Bit( "Failed to load library " ) + lib.fileName( ));
    }
}

只有在调试时才会出现问题。我使用Qt Creator和msvc。

EN

回答 1

Stack Overflow用户

发布于 2019-03-26 20:32:12

问题出在断点。我不明白它们是如何影响项目工作的,但在消除了所有断点并从头开始重新构建组件之后,问题就消失了。

如果有人能解释这一行为的原因,我将不胜感激。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55354261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档