Qt的可执行错误:0xc0000139试图Qt应用程序合并C ++(Qt Executable er

2019-10-18 06:26发布

我在QT一个简单的应用程序,我试图链接一些代码,我必须把它。 然而,当我在合并的项目中的文件,它编译,但我在启动时出现错误。 当我尝试调试它,我得到一个弹出消息告诉我可执行错误:在启动程序与代码0xc0000139退出。

我在谷歌搜索,我发现,它可能是一个DLL错误。 我得承认,我真的不知道库的工作原理,所以我有点糊涂了。

我试图通过功能导入代码的功能,看看什么是工作,什么是产生误差。 一个简单的函数是这样的:

void descendanceOf(std::vector< std::list<int> >& tree, int node){
        std::list<int> descendance;
        descendance.push_back(4);
}

产生一个错误,但我的功能是这样的:

bool isFatherOf(const std::vector < std::list < int > >& tree, int node1, int node2){ 
    for(std::list<int>::const_iterator it = tree[node1].begin();
            it != tree[node1].end(); it++){
        if((*it) == node2){
            return true;
        }
    }
    return false;
}

工作完全正常。 我糊涂了。 起初我以为它是与性病库,但两者的功能使用。

Answer 1:

你应该下载的Dependency Walker副本找出应用程序是否能找到其所需的DLL(即不通过的dlopen加载)的最*。 http://msdn.microsoft.com/en-us/library/ms235265.aspx

对于窗口中的路径,以所有/最DLL是典型地在环境变量%PATH%。

您可以启动一个命令提示符并键入“设置”来查看所有环境变量。



文章来源: Qt Executable error : 0xc0000139 trying to merge c++ in qt application