turtlebot/turtlebot_apps

Compilation fails for pano_core

Closed this issue · 3 comments

When compiling pano_core on Arch Linux, I get a ton of linker errors:

Scanning dependencies of target stitcher
[100%] [100%] Building CXX object CMakeFiles/stitcher.dir/apps/stitcher.cpp.o
Building CXX object CMakeFiles/video_stitcher.dir/apps/video_stitcher.cpp.o
Linking CXX executable devel/lib/pano_core/stitcher
CMakeFiles/stitcher.dir/apps/stitcher.cpp.o: In function `void cv::operator>><cv::Mat>(cv::FileNode const&, cv::Mat&)':
stitcher.cpp:(.text+0x29a): undefined reference to `cv::read(cv::FileNode const&, cv::Mat&, cv::Mat const&)'
CMakeFiles/stitcher.dir/apps/stitcher.cpp.o: In function `solve(std::string const&, pano::SVDRSolverParams, pano::Camera, std::vector<std::string, std::allocator<std::string> >, StitchProgressCallable*)':
stitcher.cpp:(.text+0x3a1): undefined reference to `cv::FastAdjuster::FastAdjuster(int, bool, int, int)'
stitcher.cpp:(.text+0x408): undefined reference to `cv::fastMalloc(unsigned long)'
stitcher.cpp:(.text+0x4af): undefined reference to `cv::fastMalloc(unsigned long)'
...

My patch currently involves adding this to CMakeLists.txt:

find_package(OpenCV REQUIRED)

This may be an error in opencv2 or cv_bridge, since include directories/libraries may be passed down to dependencies.

The package uses opencv library directly. your comment is right. Can you make a pull request to fix?

@jihoonl done ;-)

I believe this is closed.