1

我在 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;
}

工作得很好。我很困惑。起初我虽然它与 std 库有关,但两个函数都使用它。

4

1 回答 1

0

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

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

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

于 2013-06-17T21:54:53.183 回答