【问题标题】:Qt Executable error : 0xc0000139 trying to merge c++ in qt applicationQt 可执行错误:0xc0000139 试图在 qt 应用程序中合并 c++
【发布时间】:2013-06-17 20:28:45
【问题描述】:

我在 qt 中有一个简单的应用程序,我正在尝试将一些我必须的代码链接到它。但是,当我合并项目中的文件时,它会编译,但在启动时出现错误。当我尝试调试它时,我收到一条弹出消息,告诉我可执行错误:在启动期间程序退出,代码为 0xc0000139。

我在google上搜索,发现可能是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;
}

工作得很好。我糊涂了。一开始我虽然和std库有关系,但是两个函数都用到了它。

【问题讨论】:

    标签: c++ qt dll std startup


    【解决方案1】:

    您应该下载一个依赖遍历器的副本,以确定应用程序是否可以找到大部分*所需的 DLL(不是通过 dlopen 加载的)。 http://msdn.microsoft.com/en-us/library/ms235265.aspx

    对于 Windows,所有/大多数 DLL 的路径通常位于环境变量 %PATH% 中。

    您可以启动 cmd 提示符并键入“set”以查看所有环境变量。

    【讨论】:

    • 谢谢!这就是我所做的,我意识到 libstdc++-6.dll 丢失了。之后我遇到了其他问题...我决定卸载 qt 并删除 minGW 和其他可能的冲突来源,然后重新开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多