因此尝试从源代码构建 OpenPose,并遇到了链接问题。当前环境是 Ubuntu 16.04.4。OpenCV 版本是 3.3.1。GCC 版本是 5.4.0。
[ 87%] 构建目标 openpose
[ 87%] 链接 CXX 可执行文件 1_extract_from_image.bin
[ 87%] 链接 CXX 可执行文件 openpose.bin
[ 87%] 链接 CXX 可执行文件 3_user_input_processing_and_output.bin
[ 87%] 链接 CXX 可执行文件 2_extract_pose_or_heatmat_from_image.bin
[ 87%] 链接 CXX 可执行文件 1_custom_post_processing.bin
[ 87%] 链接 CXX 可执行文件 2_user_processing_function.bin
[ 88%] 链接 CXX 可执行文件 1_openpose_read_and_display.bin
/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/libopencv_objdetect.so.3.3.1:未定义的引用
std::thread::_State::~_State()@GLIBCXX_3.4.22
/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/libopencv_objdetect.so.3.3.1:未定义的引用
std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())@GLIBCXX_3.4.22
/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/libopencv_objdetect.so.3.3.1:未定义的引用
typeinfo for std::thread::_State@GLIBCXX_3.4.22
collect2:错误:ld 返回 1 个退出状态
示例/openpose/CMakeFiles/openpose.bin.dir/build.make:150:目标“示例/openpose/openpose.bin”的配方失败
make[2]: *** [examples/openpose/openpose.bin] 错误 1
CMakeFiles/Makefile2:1135:目标“examples/openpose/CMakeFiles/openpose.bin.dir/all”的配方失败
make[1]: *** [examples/openpose/CMakeFiles/openpose.bin.dir/all] 错误 2
make[1]: *** 等待未完成的工作....