Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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
编译项目时出错https://svn.openslam.org/data/svn/hog-man 我在Linux GNU C++下使用安装指令< /P>编译猪人 @verbatim $ svn co http://www.openslam.org/data/svn/hog-man $ cd hog-man/trunk/ $ bash # if not already running $ source setlibpath $ ./configure $ make @endverbatim_C++_Linux_Compilation - Fatal编程技术网

编译项目时出错https://svn.openslam.org/data/svn/hog-man 我在Linux GNU C++下使用安装指令< /P>编译猪人 @verbatim $ svn co http://www.openslam.org/data/svn/hog-man $ cd hog-man/trunk/ $ bash # if not already running $ source setlibpath $ ./configure $ make @endverbatim

编译项目时出错https://svn.openslam.org/data/svn/hog-man 我在Linux GNU C++下使用安装指令< /P>编译猪人 @verbatim $ svn co http://www.openslam.org/data/svn/hog-man $ cd hog-man/trunk/ $ bash # if not already running $ source setlibpath $ ./configure $ make @endverbatim,c++,linux,compilation,C++,Linux,Compilation,Csparse已安装 运行最后一步时出错: from hogman2d.cpp:18: graph_optimizer_chol.hpp: In member function ‘virtual typename PG::Edge* AISNavigation::CholOptimizer<PG>::addEdge(typename PG::Vertex*, typename PG::Vertex*, const typename P

Csparse已安装

运行最后一步时出错:

    from hogman2d.cpp:18:
    graph_optimizer_chol.hpp: In member function ‘virtual typename   
    PG::Edge* AISNavigation::CholOptimizer<PG>::addEdge(typename 
    PG::Vertex*, typename PG::Vertex*, const typename 
    PG::TransformationType&, const typename PG::InformationType&)’:
    graph_optimizer_chol.hpp:284:25: error: expected primary-    expression before ‘&&’ token
   if (_guessOnEdges && to->edges().size()==1 && ! to->fixed()){
                     ^
  Failed command was:
   g++ -fPIC -DLINUX -I/home/sophie/hog-man/trunk          
  -D_MY_CAST_=reinterpret_cast -I/home/sophie/hog-man/trunk/aislib -fPIC
  -O3 -Wall -frtti -mmmx -msse3 -c hogman2d.cpp -o hogman2d.o
   in directory  /home/sophie/hog-man/trunk/aislib/graph_optimizer_hogman
  ../../build_tools/Makefile.generic-shared-object:55: recipe for target     'hogman2d.o' failed
 make[2]: *** [hogman2d.o] Error 1
    Compilation in graph_optimizer_hogman failed.
 ../build_tools/Makefile.subdirs:10: recipe for target 'all' failed
make[1]: *** [all] Error 1
Compilation in aislib failed.
 build_tools/Makefile.subdirs:10: recipe for target 'all' failed
 make: *** [all] Error 1
在GraphOptimizer.hpp中:

 template <typename PG>
 GraphOptimizer<PG>::GraphOptimizer() :
  PG(),
 _verbose(false), _visualizeToStdout(false), _guessOnEdges(false)
   {
   }
所以它被定义了,但是它在哪里被初始化,当这个方法被执行时它没有被初始化的问题吗

     if (_guessOnEdges && to->edges().size()==1 && ! to->fixed()){
      to->transformation=from->transformation*mean;
        }
  return e;
}

此处的
this
必须告诉编译器
\u gustisonedges
是一个依赖符号,在实例化模板之前无法解析。

听起来像是缺少一个文件。用文件修复了这个问题。这是链接错误,不是编译错误;C++是Frimyy,你必须告诉编译器所有的两次:哪里是包含文件(所以它可以编译),然后是哪个库来链接(这样它可以链接)。在gcc/clang中,使用
-L
参数列出库所在的路径,然后使用
-L
(小L)参数来指示要链接的库。make命令是否也使用此选项来包括本地文件夹?在我的情况下,缺少的库是从我运行的方向来的子文件夹。/configure和make。在执行时指定它们。/configure使用-l选项。运行make时仍然找不到它们。
 template <typename PG>
 GraphOptimizer<PG>::GraphOptimizer() :
  PG(),
 _verbose(false), _visualizeToStdout(false), _guessOnEdges(false)
   {
   }
    56: bool initFromObservations = _guessOnEdges; 
     if (_guessOnEdges && to->edges().size()==1 && ! to->fixed()){
      to->transformation=from->transformation*mean;
        }
  return e;
}
using typename GraphOptimizer<PG>::_guessOnEdges;
if (this->_guessOnEdges && to->edges().size()==1 && ! to->fixed()){
    to->transformation=from->transformation*mean;
}