Git Product home page Git Product logo

wasmmvg's Introduction

wasmMVG

wasm を用いて openMVG をブラウザで動かす試み。

インストール

npm install https://github.com/wakewakame/wasmMVG/releases/download/0.0.3/wasmMVG-0.0.3.tgz

ビルド

git clone https://github.com/wakewakame/wasmMVG.git
cd wasmMVG
./docker/docker.sh
./build.sh init
./build.sh build wasm RELEASE
python3 -m http.server 8000

http://localhost:8000/html/index.html にアクセスすると Stanford Bunny を5つの視点から三次元復元したモデルが表示される。

また、 /wasmMVG/build/wasm/RELEASE/wasmMVG-*.tgz に npm パッケージが生成されるため、これを npm install /path/to wasmMVG-*.tgz することもできる。

wasmmvg's People

Contributors

wakewakame avatar

Watchers

 avatar

Forkers

yuancaimaiyi

wasmmvg's Issues

機能追加予定一覧

  • openMVG は Worker で動かす (UI がフリーズするので)
  • -pthread でマルチスレッドを有効にする
  • MEMFS から WasmFS に切り替える
  • GitHub Pages でホスティングする
  • PCとスマホで動作時間を測定する
  • 警告を解消する
  • ネイティブ用のビルド環境も整える
  • ブラウザのUIで実行結果をプレビューできるようにする
  • 特徴点マッチングを手動で行えるようにする
  • バンドル調整を手動で調整し、再実行できるようにする
  • 特徴点検出やバンドル調整など処理途中のプレビューを見えるようにする

環境によってセグフォが起こる

エラー内容

  • OS: macOS 13.1
  • 再現コマンド
./build.sh init
./build.sh build native DEBUG
./build.sh valgrind native DEBUG
  • エラー内容
yoshiidaiki@yoshii-mac wasmMVG % ./build.sh valgrind native DEBUG
==66832== Memcheck, a memory error detector
==66832== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==66832== Using Valgrind-3.21.0.GIT-lbmacos and LibVEX; rerun with -h for copyright info
==66832== Command: ./build/native/DEBUG/wasmMVG -i ./lib/ImageDataset_SceauxCastle/images -o ./build/matches -c 3 -f 3398
==66832==
==66832==
==66832== Support for macOS 11 and later is currently experimental
==66832== Some reports (especially memory leaks) might be missing or incorrect
==66832==
==66832== Warning: set address range perms: large range [0x7ff80bcbc000, 0x7ff90babc000) (defined)
==66832== Warning: set address range perms: large range [0x7ff80bcbc000, 0x7ff82fd88000) (defined)
==66832== Warning: set address range perms: large range [0x7ff82fd88000, 0x7ff84bcbc000) (noaccess)
==66832== Warning: set address range perms: large range [0x7ff84fbb4000, 0x7ff88bcbc000) (noaccess)
==66832== Warning: set address range perms: large range [0x7ff89726c000, 0x7ff90babc000) (noaccess)
==66832== Warning: set address range perms: large range [0x600000000000, 0x600020000000) (defined)
INFO: [main.cpp:197]  You called : ./build/native/DEBUG/wasmMVG
--imageDirectory ./lib/ImageDataset_SceauxCastle/images
--sensorWidthDatabase
--outputDirectory ./build/matches
--focal 3398
--intrinsics
--camera_model 3
--group_camera_model 1
--use_pose_prior 0
--prior_weights 1.0;1.0;1.0
--gps_to_xyz_method 0
INFO: [loggerprogress.hpp:79] [- Listing images -] 100%
WARNING: [main.cpp:458] Warning & Error messages:
K.txt: Unkown image file format.
Readme.txt: Unkown image file format.

==66832== Invalid read of size 8
==66832==    at 0x1002D7FD7: openMVG::sfm::GroupSharedIntrinsics(openMVG::sfm::SfM_Data&) (source/src/openMVG/sfm/sfm_data_utils.cpp:27)
==66832==    by 0x10000DAC6: main (main.cpp:466)
==66832==  Address 0x26 is not stack'd, malloc'd or (recently) free'd
==66832==
==66832==
==66832== Process terminating with default action of signal 11 (SIGSEGV)
==66832==  Access not within mapped region at address 0x26
==66832==    at 0x1002D7FD7: openMVG::sfm::GroupSharedIntrinsics(openMVG::sfm::SfM_Data&) (source/src/openMVG/sfm/sfm_data_utils.cpp:27)
==66832==    by 0x10000DAC6: main (main.cpp:466)
==66832==  If you believe this happened as a result of a stack
==66832==  overflow in your program's main thread (unlikely but
==66832==  possible), you can try to increase the size of the
==66832==  main thread stack using the --main-stacksize= flag.
==66832==  The main thread stack size used in this run was 8388608.
==66832==
==66832== HEAP SUMMARY:
==66832==     in use at exit: 0 bytes in 0 blocks
==66832==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==66832==
==66832== All heap blocks were freed -- no leaks are possible
==66832==
==66832== For lists of detected and suppressed errors, rerun with: -s
==66832== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 1833797 from 641)
./build.sh: line 64: 66832 Segmentation fault: 11  valgrind "${DST}/wasmMVG" -i "./lib/ImageDataset_SceauxCastle/images" -o "./build/matches" -c 3 -f 3398

関連のありそうなIssue

nativeビルドでリンクエラーが起きる

再現方法

./docker/docker.sh
./build.sh init
./build.sh build native DEBUG 2>&1 | tee log.txt

エラー内容

-- Configuring done
-- Generating done
-- Build files have been written to: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG
[ 40%] Built target openmvg
Consolidate compiler generated dependencies of target main
Consolidate compiler generated dependencies of target main_ComputeFeatures
Consolidate compiler generated dependencies of target main_GeometricFilter
Consolidate compiler generated dependencies of target main_SfMInit_ImageListing
Consolidate compiler generated dependencies of target main_SfM
Consolidate compiler generated dependencies of target main_ComputeMatches
[ 50%] Built target main
[ 60%] Built target main_SfMInit_ImageListing
[ 70%] Linking CXX executable main_SfM
[ 75%] Built target main_GeometricFilter
[ 80%] Linking CXX executable main_ComputeFeatures
[ 85%] Linking CXX executable main_ComputeMatches
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_matching_image_collection.a(Matcher_Regions.cpp.o): in function `openMVG::matching_image_collection::Matcher_Regions::Match(std::shared_ptr<openMVG::sfm::Regions_Provider> const&, std::set<std::pair<unsigned int, unsigned int>, std::less<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<unsigned int, unsigned int> > > const&, openMVG::matching::PairWiseMatchesContainer&, openMVG::system::ProgressInterface*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/matching_image_collection/Matcher_Regions.cpp:73: undefined reference to `openMVG::matching::RegionMatcherFactory(openMVG::matching::EMatcherType, openMVG::features::Regions const&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [CMakeFiles/main_ComputeMatches.dir/build.make:97: main_ComputeMatches] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:173: CMakeFiles/main_ComputeMatches.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_features.a(fast_detector.cpp.o): in function `openMVG::features::FastCornerDetector::detect(openMVG::image::Image<unsigned char> const&, std::vector<openMVG::features::PointFeature, std::allocator<openMVG::features::PointFeature> >&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/features/fast/fast_detector.cpp:47: undefined reference to `fast9_detect_nonmax(unsigned char const*, int, int, int, int, int*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/features/fast/fast_detector.cpp:48: undefined reference to `fast10_detect_nonmax(unsigned char const*, int, int, int, int, int*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/features/fast/fast_detector.cpp:49: undefined reference to `fast11_detect_nonmax(unsigned char const*, int, int, int, int, int*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/features/fast/fast_detector.cpp:50: undefined reference to `fast12_detect_nonmax(unsigned char const*, int, int, int, int, int*)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [CMakeFiles/main_ComputeFeatures.dir/build.make:97: main_ComputeFeatures] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:147: CMakeFiles/main_ComputeFeatures.dir/all] Error 2
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_BA_ceres.cpp.o): warning: relocation against `_ZTVN5ceres9HuberLossE' in read-only section `.text._ZN5ceres9HuberLossC2Ed[_ZN5ceres9HuberLossC5Ed]'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_global_engine_relative_motions.cpp.o): in function `openMVG::sfm::GlobalSfMReconstructionEngine_RelativeMotions::Compute_Global_Rotations(std::vector<openMVG::rotation_averaging::RelativeRotation, std::allocator<openMVG::rotation_averaging::RelativeRotation> > const&, std::map<unsigned int, Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::less<unsigned int>, Eigen::aligned_allocator<std::pair<unsigned int const, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/sfm_global_engine_relative_motions.cpp:232: undefined reference to `openMVG::getRotationMagnitude(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(relative_pose_engine.cpp.o): in function `openMVG::sfm::Relative_Pose_Engine::Process(std::set<std::pair<unsigned int, unsigned int>, std::less<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<unsigned int, unsigned int> > > const&, openMVG::sfm::SfM_Data const&, openMVG::sfm::Matches_Provider const*, openMVG::sfm::Features_Provider const*)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/relative_pose_engine.cpp:172: undefined reference to `openMVG::Triangulate2View(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1>&, openMVG::ETriangulationMethod)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/relative_pose_engine.cpp:210: undefined reference to `openMVG::RelativeCameraMotion(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sequential_SfM.cpp.o): in function `openMVG::sfm::SequentialSfMReconstructionEngine::MakeInitialPair3D(std::pair<unsigned int, unsigned int> const&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sequential/sequential_SfM.cpp:573: undefined reference to `openMVG::Triangulate2View(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1>&, openMVG::ETriangulationMethod)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sequential_SfM.cpp.o): in function `openMVG::sfm::SequentialSfMReconstructionEngine::Resection(unsigned int)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sequential/sequential_SfM.cpp:984: undefined reference to `openMVG::KRt_From_P(Eigen::Matrix<double, 3, 4, 0, 3, 4> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sequential/sequential_SfM.cpp:1120: undefined reference to `openMVG::Triangulate2View(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1>&, openMVG::ETriangulationMethod)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sequential_SfM.cpp.o): in function `openMVG::sfm::SequentialSfMReconstructionEngine::BundleAdjustment()':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sequential/sequential_SfM.cpp:1194: undefined reference to `ceres::IsSparseLinearAlgebraLibraryTypeAvailable(ceres::SparseLinearAlgebraLibraryType)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sequential/sequential_SfM.cpp:1195: undefined reference to `ceres::IsSparseLinearAlgebraLibraryTypeAvailable(ceres::SparseLinearAlgebraLibraryType)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sequential_SfM2.cpp.o): in function `openMVG::sfm::SequentialSfMReconstructionEngine2::AddingMissingView(float const&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sequential/sequential_SfM2.cpp:434: undefined reference to `openMVG::KRt_From_P(Eigen::Matrix<double, 3, 4, 0, 3, 4> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sequential_SfM2.cpp.o): in function `openMVG::sfm::SequentialSfMReconstructionEngine2::BundleAdjustment()':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sequential/sequential_SfM2.cpp:511: undefined reference to `ceres::IsSparseLinearAlgebraLibraryTypeAvailable(ceres::SparseLinearAlgebraLibraryType)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sequential/sequential_SfM2.cpp:512: undefined reference to `ceres::IsSparseLinearAlgebraLibraryTypeAvailable(ceres::SparseLinearAlgebraLibraryType)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_robust_model_estimation.cpp.o): in function `openMVG::sfm::robustRelativePose(openMVG::cameras::IntrinsicBase const*, openMVG::cameras::IntrinsicBase const*, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, openMVG::sfm::RelativePose_Info&, std::pair<unsigned long, unsigned long> const&, std::pair<unsigned long, unsigned long> const&, unsigned long)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/sfm_robust_model_estimation.cpp:110: undefined reference to `openMVG::RelativePoseFromEssential(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&, Eigen::Matrix<double, 3, -1, 0, 3, -1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, std::vector<unsigned int, std::allocator<unsigned int> > const&, openMVG::geometry::Pose3*, std::vector<unsigned int, std::allocator<unsigned int> >*, std::vector<Eigen::Matrix<double, 3, 1, 0, 3, 1>, std::allocator<Eigen::Matrix<double, 3, 1, 0, 3, 1> > >*, double, openMVG::ETriangulationMethod)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_robust_model_estimation.cpp.o): in function `openMVG::robust::ACKernelAdaptorEssential<openMVG::essential::kernel::FivePointSolver, openMVG::fundamental::kernel::EpipolarDistanceError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/robust_estimation/robust_estimator_ACRansacKernelAdaptator.hpp:336: undefined reference to `openMVG::essential::kernel::FivePointSolver::Solve(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&, Eigen::Matrix<double, 3, -1, 0, 3, -1> const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > >*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_robust_model_estimation.cpp.o): in function `openMVG::robust::ACKernelAdaptorEssential<openMVG::essential::kernel::FivePointSolver, openMVG::fundamental::kernel::EpipolarDistanceError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Errors(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, std::vector<double, std::allocator<double> >&) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/robust_estimation/robust_estimator_ACRansacKernelAdaptator.hpp:357: undefined reference to `openMVG::FundamentalFromEssential(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/robust_estimation/robust_estimator_ACRansacKernelAdaptator.hpp:360: undefined reference to `openMVG::fundamental::kernel::EpipolarDistanceError::Error(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 2, 1, 0, 2, 1> const&, Eigen::Matrix<double, 2, 1, 0, 2, 1> const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_robust_model_estimation.cpp.o): in function `openMVG::robust::ACKernelAdaptor_AngularRadianError<openMVG::EightPointRelativePoseSolver, openMVG::AngularError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/robust_estimation/robust_estimator_ACRansacKernelAdaptator.hpp:496: undefined reference to `openMVG::EightPointRelativePoseSolver::Solve(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&, Eigen::Matrix<double, 3, -1, 0, 3, -1> const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > >*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_robust_model_estimation.cpp.o): in function `openMVG::robust::ACKernelAdaptor_AngularRadianError<openMVG::EightPointRelativePoseSolver, openMVG::AngularError, Eigen::Matrix<double, 3, 3, 0, 3, 3> >::Errors(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, std::vector<double, std::allocator<double> >&) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/robust_estimation/robust_estimator_ACRansacKernelAdaptator.hpp:516: undefined reference to `openMVG::AngularError::Error(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(stellar_solver.cpp.o): in function `openMVG::sfm::EstimateTripletRelativeScale(std::set<std::pair<unsigned int, unsigned int>, std::less<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<unsigned int, unsigned int> > > const&, openMVG::sfm::SfM_Data const&, openMVG::sfm::Features_Provider const*, openMVG::sfm::Matches_Provider const*, std::map<std::pair<unsigned int, unsigned int>, openMVG::geometry::Pose3, std::less<std::pair<unsigned int, unsigned int> >, Eigen::aligned_allocator<std::pair<std::pair<unsigned int, unsigned int> const, openMVG::geometry::Pose3> > > const&, openMVG::sfm::Relative_Scale&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/stellar/stellar_solver.cpp:180: undefined reference to `openMVG::TriangulateNViewAlgebraic(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > > const&, Eigen::Matrix<double, 4, 1, 0, 4, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_BA_ceres.cpp.o): in function `openMVG::sfm::Bundle_Adjustment_Ceres::BA_Ceres_options::BA_Ceres_options(bool, bool)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:132: undefined reference to `ceres::IsSparseLinearAlgebraLibraryTypeAvailable(ceres::SparseLinearAlgebraLibraryType)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:139: undefined reference to `ceres::IsSparseLinearAlgebraLibraryTypeAvailable(ceres::SparseLinearAlgebraLibraryType)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_BA_ceres.cpp.o): in function `openMVG::sfm::Bundle_Adjustment_Ceres::Adjust(openMVG::sfm::SfM_Data&, openMVG::sfm::Optimize_Options const&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:178: undefined reference to `openMVG::geometry::Similarity3::Similarity3()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:196: undefined reference to `openMVG::geometry::Similarity3::Similarity3()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:212: undefined reference to `openMVG::geometry::Similarity3::operator()(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&) const'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:227: undefined reference to `openMVG::geometry::Similarity3::Similarity3(openMVG::geometry::Pose3 const&, double)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:238: undefined reference to `ceres::Problem::Problem()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:259: undefined reference to `ceres::Problem::AddParameterBlock(double*, int)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:263: undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:283: undefined reference to `ceres::SubsetParameterization::SubsetParameterization(int, std::vector<int, std::allocator<int> > const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:284: undefined reference to `ceres::Problem::SetParameterization(double*, ceres::LocalParameterization*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:300: undefined reference to `ceres::Problem::AddParameterBlock(double*, int)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:304: undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:314: undefined reference to `ceres::SubsetParameterization::SubsetParameterization(int, std::vector<int, std::allocator<int> > const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:315: undefined reference to `ceres::Problem::SetParameterization(double*, ceres::LocalParameterization*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:354: undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:362: undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:375: undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:404: undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*, double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:412: undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*, double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:428: undefined reference to `ceres::Problem::SetParameterBlockConstant(double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:446: undefined reference to `ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, double*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:474: undefined reference to `ceres::Solver::Summary::Summary()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:475: undefined reference to `ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:477: undefined reference to `ceres::Solver::Summary::FullReport[abi:cxx11]() const'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:480: undefined reference to `ceres::Solver::Summary::IsSolutionUsable() const'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:552: undefined reference to `openMVG::geometry::Similarity3::inverse() const'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:585: undefined reference to `ceres::Problem::~Problem()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_BA_ceres.cpp:585: undefined reference to `ceres::Problem::~Problem()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_BA_ceres.cpp.o): in function `MessageLogger::LogToSinks(int)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/third_party/ceres-solver/internal/ceres/miniglog/glog/logging.h:246: undefined reference to `google::log_sinks_global'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/third_party/ceres-solver/internal/ceres/miniglog/glog/logging.h:247: undefined reference to `google::log_sinks_global'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_BA_ceres.cpp.o): in function `MessageLogger::WaitForSinks()':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/third_party/ceres-solver/internal/ceres/miniglog/glog/logging.h:258: undefined reference to `google::log_sinks_global'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/third_party/ceres-solver/internal/ceres/miniglog/glog/logging.h:259: undefined reference to `google::log_sinks_global'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_BA_ceres.cpp.o): in function `ceres::HuberLoss::HuberLoss(double)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/third_party/ceres-solver/include/ceres/loss_function.h:177: undefined reference to `vtable for ceres::HuberLoss'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_BA_ceres.cpp.o): in function `openMVG::two_view::kernel::Kernel<openMVG::geometry::kernel::Similarity3Solver, openMVG::geometry::kernel::Similarity3ErrorSquaredMetric, openMVG::geometry::Similarity3>::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<openMVG::geometry::Similarity3, std::allocator<openMVG::geometry::Similarity3> >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/multiview/two_view_kernel.hpp:86: undefined reference to `openMVG::geometry::kernel::Similarity3Solver::Solve(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, std::vector<openMVG::geometry::Similarity3, std::allocator<openMVG::geometry::Similarity3> >*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_BA_ceres.cpp.o): in function `openMVG::two_view::kernel::Kernel<openMVG::geometry::kernel::Similarity3Solver, openMVG::geometry::kernel::Similarity3ErrorSquaredMetric, openMVG::geometry::Similarity3>::Error(unsigned int, openMVG::geometry::Similarity3 const&) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/multiview/two_view_kernel.hpp:90: undefined reference to `openMVG::geometry::kernel::Similarity3ErrorSquaredMetric::Error(openMVG::geometry::Similarity3 const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_filters.cpp.o): in function `openMVG::sfm::DepthCleaning(openMVG::sfm::SfM_Data&, double, unsigned int, unsigned int)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_filters.cpp:412: undefined reference to `openMVG::Depth(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_filters.cpp:453: undefined reference to `openMVG::Depth(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_transform.cpp.o): in function `openMVG::sfm::ApplySimilarity(openMVG::geometry::Similarity3 const&, openMVG::sfm::SfM_Data&, bool)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_transform.cpp:28: undefined reference to `openMVG::geometry::Similarity3::operator()(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&) const'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_transform.cpp:34: undefined reference to `openMVG::geometry::Similarity3::operator()(openMVG::geometry::Pose3 const&) const'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_transform.cpp:44: undefined reference to `openMVG::geometry::Similarity3::operator()(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&) const'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_transform.cpp:51: undefined reference to `openMVG::geometry::Similarity3::operator()(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&) const'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(sfm_data_triangulation.cpp.o): in function `openMVG::sfm::track_triangulation(openMVG::sfm::SfM_Data const&, std::map<unsigned int, openMVG::sfm::Observation, std::less<unsigned int>, Eigen::aligned_allocator<std::pair<unsigned int const, openMVG::sfm::Observation> > > const&, Eigen::Matrix<double, 3, 1, 0, 3, 1>&, openMVG::ETriangulationMethod const&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_triangulation.cpp:76: undefined reference to `openMVG::TriangulateNViewAlgebraic(Eigen::Matrix<double, 3, -1, 0, 3, -1> const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > > const&, Eigen::Matrix<double, 4, 1, 0, 4, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/sfm_data_triangulation.cpp:88: undefined reference to `openMVG::Triangulate2View(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1>&, openMVG::ETriangulationMethod)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_rotation_averaging.cpp.o): in function `openMVG::sfm::GlobalSfM_Rotation_AveragingSolver::Run(openMVG::sfm::ERotationAveragingMethod, openMVG::sfm::ERelativeRotationInferenceMethod, std::vector<openMVG::rotation_averaging::RelativeRotation, std::allocator<openMVG::rotation_averaging::RelativeRotation> > const&, std::map<unsigned int, Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::less<unsigned int>, Eigen::aligned_allocator<std::pair<unsigned int const, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > >&) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_rotation_averaging.cpp:90: undefined reference to `openMVG::rotation_averaging::l2::L2RotationAveraging(unsigned long, std::vector<openMVG::rotation_averaging::RelativeRotation, std::allocator<openMVG::rotation_averaging::RelativeRotation> > const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > >&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_rotation_averaging.cpp:96: undefined reference to `openMVG::rotation_averaging::l2::L2RotationAveraging_Refine(std::vector<openMVG::rotation_averaging::RelativeRotation, std::allocator<openMVG::rotation_averaging::RelativeRotation> > const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > >&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_rotation_averaging.cpp:117: undefined reference to `openMVG::rotation_averaging::l1::GlobalRotationsRobust(std::vector<openMVG::rotation_averaging::RelativeRotation, std::allocator<openMVG::rotation_averaging::RelativeRotation> > const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > >&, unsigned int, float, std::vector<bool, std::allocator<bool> >*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_rotation_averaging.cpp.o): in function `openMVG::sfm::GlobalSfM_Rotation_AveragingSolver::TripletRotationRejection(double, std::vector<openMVG::graph::Triplet, std::allocator<openMVG::graph::Triplet> >&, std::vector<openMVG::rotation_averaging::RelativeRotation, std::allocator<openMVG::rotation_averaging::RelativeRotation> >&) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_rotation_averaging.cpp:196: undefined reference to `openMVG::getRotationMagnitude(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_translation_averaging.cpp.o): in function `openMVG::sfm::GlobalSfM_Translation_AveragingSolver::Run(openMVG::sfm::ETranslationAveragingMethod, openMVG::sfm::SfM_Data&, openMVG::sfm::Features_Provider const*, openMVG::sfm::Matches_Provider const*, std::map<unsigned int, Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::less<unsigned int>, Eigen::aligned_allocator<std::pair<unsigned int const, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > > const&, openMVG::matching::PairWiseMatches&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:81: undefined reference to `LiGT::LiGTBuilder::LiGTBuilder(openMVG::sfm::Features_Provider const*, openMVG::matching::PairWiseMatches const&, openMVG::sfm::SfM_Data const&, std::map<unsigned int, Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::less<unsigned int>, Eigen::aligned_allocator<std::pair<unsigned int const, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > > const&, int, int)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:88: undefined reference to `LiGT::LiGTProblem::Solution()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:92: undefined reference to `LiGT::LiGTProblem::GetPoses()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_translation_averaging.cpp.o): in function `openMVG::sfm::GlobalSfM_Translation_AveragingSolver::Translation_averaging(openMVG::sfm::ETranslationAveragingMethod, openMVG::sfm::SfM_Data&, std::map<unsigned int, Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::less<unsigned int>, Eigen::aligned_allocator<std::pair<unsigned int const, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > > const&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:147: undefined reference to `openMVG::getIndexT(std::vector<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > >, std::allocator<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > > > > const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:162: undefined reference to `openMVG::getPairs(std::vector<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > >, std::allocator<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > > > > const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:184: undefined reference to `openMVG::linearProgramming::OSI_X_SolverWrapper::OSI_X_SolverWrapper(int)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:186: undefined reference to `openMVG::lInfinityCV::Tifromtij_ConstraintBuilder::Tifromtij_ConstraintBuilder(std::vector<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > >, std::allocator<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > > > > const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:190: undefined reference to `openMVG::lInfinityCV::Tifromtij_ConstraintBuilder::Build(openMVG::linearProgramming::LP_Constraints_Sparse&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:191: undefined reference to `openMVG::linearProgramming::OSI_X_SolverWrapper::setup(openMVG::linearProgramming::LP_Constraints_Sparse const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:194: undefined reference to `openMVG::linearProgramming::OSI_X_SolverWrapper::solve()'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:197: undefined reference to `openMVG::linearProgramming::OSI_X_SolverWrapper::getSolution(std::vector<double, std::allocator<double> >&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:250: undefined reference to `openMVG::solve_translations_problem_softl1(std::vector<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > >, std::allocator<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > > > > const&, std::vector<Eigen::Matrix<double, 3, 1, 0, 3, 1>, std::allocator<Eigen::Matrix<double, 3, 1, 0, 3, 1> > >&, double)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:305: undefined reference to `openMVG::solve_translations_problem_l2_chordal(int const*, double const*, double const*, int, double, double*, double, double, int)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_translation_averaging.cpp.o): in function `openMVG::sfm::GlobalSfM_Translation_AveragingSolver::ComputePutativeTranslation_EdgesCoverage(openMVG::sfm::SfM_Data const&, std::map<unsigned int, Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::less<unsigned int>, Eigen::aligned_allocator<std::pair<unsigned int const, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > > const&, openMVG::sfm::Features_Provider const*, openMVG::sfm::Matches_Provider const*, std::vector<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > >, std::allocator<std::vector<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > >, std::allocator<std::pair<std::pair<unsigned int, unsigned int>, std::pair<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 1, 0, 3, 1> > > > > > >&, openMVG::matching::PairWiseMatches&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:557: undefined reference to `openMVG::RelativeCameraMotion(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:561: undefined reference to `openMVG::RelativeCameraMotion(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:565: undefined reference to `openMVG::RelativeCameraMotion(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_translation_averaging.cpp.o): in function `openMVG::sfm::GlobalSfM_Translation_AveragingSolver::Estimate_T_triplet(openMVG::sfm::SfM_Data const&, std::map<unsigned int, Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::less<unsigned int>, Eigen::aligned_allocator<std::pair<unsigned int const, Eigen::Matrix<double, 3, 3, 0, 3, 3> > > > const&, openMVG::sfm::Features_Provider const*, openMVG::sfm::Matches_Provider const*, openMVG::graph::Triplet const&, std::vector<Eigen::Matrix<double, 3, 1, 0, 3, 1>, std::allocator<Eigen::Matrix<double, 3, 1, 0, 3, 1> > >&, double&, std::vector<unsigned int, std::allocator<unsigned int> >&, std::map<unsigned int, std::map<unsigned int, unsigned int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::map<unsigned int, unsigned int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int> > > > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:744: undefined reference to `openMVG::KRt_From_P(Eigen::Matrix<double, 3, 4, 0, 3, 4> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:745: undefined reference to `openMVG::KRt_From_P(Eigen::Matrix<double, 3, 4, 0, 3, 4> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/GlobalSfM_translation_averaging.cpp:746: undefined reference to `openMVG::KRt_From_P(Eigen::Matrix<double, 3, 4, 0, 3, 4> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_translation_averaging.cpp.o): in function `openMVG::linearProgramming::OSI_X_SolverWrapper::~OSI_X_SolverWrapper()':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/linearProgramming/linearProgrammingOSI_X.hpp:23: undefined reference to `vtable for openMVG::linearProgramming::OSI_X_SolverWrapper'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_translation_averaging.cpp.o): in function `openMVG::sfm::TranslationTripletKernel_ACRansac<openMVG::translations_Triplet_Solver, openMVG::translations_Triplet_Solver, openMVG::trifocal::kernel::TrifocalTensorModel>::TranslationTripletKernel_ACRansac(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, double)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/triplet_t_ACRansac_kernelAdaptator.hpp:47: undefined reference to `openMVG::ApplyTransformationToPoints(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/triplet_t_ACRansac_kernelAdaptator.hpp:48: undefined reference to `openMVG::ApplyTransformationToPoints(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/triplet_t_ACRansac_kernelAdaptator.hpp:49: undefined reference to `openMVG::ApplyTransformationToPoints(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_translation_averaging.cpp.o): in function `openMVG::sfm::TranslationTripletKernel_ACRansac<openMVG::translations_Triplet_Solver, openMVG::translations_Triplet_Solver, openMVG::trifocal::kernel::TrifocalTensorModel>::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<openMVG::trifocal::kernel::TrifocalTensorModel, std::allocator<openMVG::trifocal::kernel::TrifocalTensorModel> >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/triplet_t_ACRansac_kernelAdaptator.hpp:62: undefined reference to `openMVG::translations_Triplet_Solver::Solve(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, std::vector<Eigen::Matrix<double, 3, 3, 0, 3, 3>, std::allocator<Eigen::Matrix<double, 3, 3, 0, 3, 3> > > const&, std::vector<openMVG::trifocal::kernel::TrifocalTensorModel, std::allocator<openMVG::trifocal::kernel::TrifocalTensorModel> >*, double)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(GlobalSfM_translation_averaging.cpp.o): in function `openMVG::sfm::TranslationTripletKernel_ACRansac<openMVG::translations_Triplet_Solver, openMVG::translations_Triplet_Solver, openMVG::trifocal::kernel::TrifocalTensorModel>::Errors(openMVG::trifocal::kernel::TrifocalTensorModel const&, std::vector<double, std::allocator<double> >&) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/global/triplet_t_ACRansac_kernelAdaptator.hpp:74: undefined reference to `openMVG::translations_Triplet_Solver::Error(openMVG::trifocal::kernel::TrifocalTensorModel const&, Eigen::Matrix<double, 2, 1, 0, 2, 1> const&, Eigen::Matrix<double, 2, 1, 0, 2, 1> const&, Eigen::Matrix<double, 2, 1, 0, 2, 1> const&)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(SfM_Localizer.cpp.o): in function `openMVG::sfm::SfM_Localizer::Localize(openMVG::resection::SolverType const&, std::pair<unsigned int, unsigned int> const&, openMVG::cameras::IntrinsicBase const*, openMVG::sfm::Image_Localizer_Match_Data&, openMVG::geometry::Pose3&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/localization/SfM_Localizer.cpp:299: undefined reference to `openMVG::KRt_From_P(Eigen::Matrix<double, 3, 4, 0, 3, 4> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(SfM_Localizer.cpp.o): in function `openMVG::robust::ACKernelAdaptorResection<openMVG::resection::kernel::SixPointResectionSolver, openMVG::resection::SquaredPixelReprojectionError, openMVG::robust::UnnormalizerResection, Eigen::Matrix<double, 3, 4, 0, 3, 4> >::ACKernelAdaptorResection(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, int, int, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&)':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/robust_estimation/robust_estimator_ACRansacKernelAdaptator.hpp:237: undefined reference to `openMVG::NormalizePoints(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1>*, Eigen::Matrix<double, 3, 3, 0, 3, 3>*, int, int)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(SfM_Localizer.cpp.o): in function `openMVG::robust::ACKernelAdaptorResection<openMVG::resection::kernel::SixPointResectionSolver, openMVG::resection::SquaredPixelReprojectionError, openMVG::robust::UnnormalizerResection, Eigen::Matrix<double, 3, 4, 0, 3, 4> >::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/robust_estimation/robust_estimator_ACRansacKernelAdaptator.hpp:251: undefined reference to `openMVG::resection::kernel::SixPointResectionSolver::Solve(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*, bool)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(SfM_Localizer.cpp.o): in function `openMVG::ACKernelAdaptorResection_Intrinsics<openMVG::euclidean_resection::P3PSolver_Nordberg, Eigen::Matrix<double, 3, 4, 0, 3, 4> >::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/localization/SfM_Localizer.cpp:62: undefined reference to `openMVG::euclidean_resection::P3PSolver_Nordberg::Solve(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(SfM_Localizer.cpp.o): in function `openMVG::ACKernelAdaptorResection_Intrinsics<openMVG::euclidean_resection::P3PSolver_Ke, Eigen::Matrix<double, 3, 4, 0, 3, 4> >::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/localization/SfM_Localizer.cpp:62: undefined reference to `openMVG::euclidean_resection::P3PSolver_Ke::Solve(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(SfM_Localizer.cpp.o): in function `openMVG::ACKernelAdaptorResection_Intrinsics<openMVG::euclidean_resection::P3PSolver_Kneip, Eigen::Matrix<double, 3, 4, 0, 3, 4> >::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/localization/SfM_Localizer.cpp:62: undefined reference to `openMVG::euclidean_resection::P3PSolver_Kneip::Solve(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*)'
/usr/bin/ld: /home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/install/lib/libopenMVG_sfm.a(SfM_Localizer.cpp.o): in function `openMVG::ACKernelAdaptorResection_Intrinsics<openMVG::euclidean_resection::UP2PSolver_Kukelova, Eigen::Matrix<double, 3, 4, 0, 3, 4> >::Fit(std::vector<unsigned int, std::allocator<unsigned int> > const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*) const':
/home/wakewakame/Documents/github.com/wasmMVG/build/native/DEBUG/3rdparty/openmvg/source/src/openMVG/sfm/pipelines/localization/SfM_Localizer.cpp:62: undefined reference to `openMVG::euclidean_resection::UP2PSolver_Kukelova::Solve(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, std::vector<Eigen::Matrix<double, 3, 4, 0, 3, 4>, std::allocator<Eigen::Matrix<double, 3, 4, 0, 3, 4> > >*)'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [CMakeFiles/main_SfM.dir/build.make:97: main_SfM] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:225: CMakeFiles/main_SfM.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.