Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 无法找到错误cpp linux_C++_Compiler Errors_Cmake_Linker Errors_Undefined Reference - Fatal编程技术网

C++ 无法找到错误cpp linux

C++ 无法找到错误cpp linux,c++,compiler-errors,cmake,linker-errors,undefined-reference,C++,Compiler Errors,Cmake,Linker Errors,Undefined Reference,这可能真的很愚蠢,但在尝试使用cmake编译某些代码模块时,我遇到了以下错误 acg_localizer_active_search.cc:(.text+0x43c6): undefined reference to `ANNkd_tree::ANNkd_tree(float**, int, int, int, ANNsplitRule)' acg_localizer_active_search.cc:(.text+0x4441): undefin

这可能真的很愚蠢,但在尝试使用cmake编译某些代码模块时,我遇到了以下错误

    acg_localizer_active_search.cc:(.text+0x43c6): undefined reference to            
    `ANNkd_tree::ANNkd_tree(float**, int, int, int, ANNsplitRule)'
    acg_localizer_active_search.cc:(.text+0x4441): undefined reference to    
   `ANNkd_tree::ANNkd_tree(float**, int, int, int, ANNsplitRule)'
  • 请帮助我理解这个未定义的引用错误的含义
  • 被称为“.text+0x…”的错误行不可理解。如何定位错误
  • 我已经被困了很长一段时间,解决了一个又一个错误,最后来到了这里。请帮帮我。提前谢谢


    很抱歉没有添加代码。大约有2000行,我不确定在哪里可以找到这个错误。它是名为acg_localizer的软件包的一部分。

    这是一个链接时间错误。方法
    ANNkd_-tree::ANNkd_-tree(float**,int,int,int,ANNsplitRule)
    在link命令中指定的任何库和对象文件中都找不到,尽管它已被引用

    您必须找出它的定义位置,并确保在链接器命令行上定义它的库位于使用它的库之后


    您可以使用
    nm
    工具找出对象文件或库定义或使用了哪些符号(=变量、方法)。进行
    MANNM
    (或在谷歌上搜索)以了解更多信息。

    1。这是链接器错误,链接器找不到符号。您需要将包含它的库或对象文件放在命令行上。如果您使用的是Linux,我猜您使用的是g++来编译您的应用程序。如果您有libANNkd_tree.so文件或类似文件,则该命令假定为:g++something.cpp-lANNkd_tree。请向我们展示如何编译和链接类似于
    g++source.cpp object_file.o
    g++source.cpp-lLibrary
    的代码。但是如果您想安装一个软件包,那么您可能不是自己编写makefile,因此,您可能不需要将对象文件或库添加到编译命令中。您需要确保在CMakeLists.txt中有一个指向所需库的命令。@LakshmiNarayanan您可以通过“我的用户”页面上的电子邮件与我联系。确保在电子邮件中复制并粘贴CMakeLists.txt。