https://github.com/TheFrenchLeaf/Bundler

  1. 安装cmake

  2. 安装bundler

    mkdir build
    cd build
    cmake ..
    make 
    
    apt-get install imagemagick
    
    Linux => use makefile in program/main or Cmake.
          => Note the fact that the compilation will use the following resident libraries :
             - jpeg
             - lapack blas gfortran (included in most lapack distibution)
             - sometimes atlas.
    
    => CMAKE USAGE :
    Go to the extracted archive path. 
    $ mkdir Output
    $ cd Output
    $ cmake -G "CodeBlocks - Unix Makefiles" ..
    $ make
    => Your binaries will be in Output/src !
    
    apt-get install -y libjpeg-dev liblapack-dev libblas-dev gfortran libatlas-base-dev
    
    • 问题1://usr/lib/x86_64-linux-gnu/libblas.so.3: error adding symbols: DSO missing from command line

      [ 49%] Building CXX object src/CMakeFiles/RadialUndistort.dir/RadialUndistort.cpp.o
      [ 50%] Building CXX object src/CMakeFiles/RadialUndistort.dir/LoadJPEG.cpp.o
      [ 51%] Linking CXX executable RadialUndistort
      /usr/bin/c++   -fopenmp  -rdynamic CMakeFiles/RadialUndistort.dir/RadialUndistort.cpp.o CMakeFiles/RadialUndistort.dir/LoadJPEG.cpp.o  -o RadialUndistort  ../lib/imagelib/libimagelib.a ../lib/matrix/libmatrix.a -ljpeg -llapack ../lib/cblas/libcblas.a ../lib/cminpack/libcminpack.a -lgfortran 
      /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/liblapack.so: undefined reference to symbol 'dgemm_'
      //usr/lib/x86_64-linux-gnu/libblas.so.3: error adding symbols: DSO missing from command line
      collect2: error: ld returned 1 exit status
      src/CMakeFiles/RadialUndistort.dir/build.make:126: recipe for target 'src/RadialUndistort' failed
      make[2]: *** [src/RadialUndistort] Error 1
      CMakeFiles/Makefile2:352: recipe for target 'src/CMakeFiles/RadialUndistort.dir/all' failed
      make[1]: *** [src/CMakeFiles/RadialUndistort.dir/all] Error 2
      Makefile:103: recipe for target 'all' failed
      make: *** [all] Error 2
      
      • 解决:
      Resolved by adding -lblas to the end of:
      
      src/CMakeFiles/Bundle2PMVS.dir/link.txt
      src/CMakeFiles/Bundler.dir/link.txt
      src/CMakeFiles/RadialUndistort.dir/link.txt
      
  3. 修改

    ~~MATCHKEYS=$BASE_PATH/Output/src/KeyMatchFull
    BUNDLER=$BASE_PATH/Output/src/Bundler~~
    MATCHKEYS=$BASE_PATH/build/src/KeyMatchFull
    BUNDLER=$BASE_PATH/build/src/Bundler
    

    chmod -R a+x bin/*

  4. bin/sift无法运行

    linux内核版本问题?搁置。。。

    ../bin/sift 
    bash: ../bin/sift: No such file or directory