2014-03-12 38 views
0

建设PCL-1.7.1的时候我已经下载从GitHub的PCL-1.7.1版本,并尝试建立使用链接从源

cd PCL-1.6.0 && mkdir build && cd build 
cmake -DCMAKE_BUILD_TYPE=Release .. 
make 
sudo make install 

CMake的命令运行成功,代码和Boost库写入此有关升压

-- Boost version: 1.55.0 
-- Found the following Boost libraries: 
-- system 
-- filesystem 
-- thread 
-- date_time 
-- iostreams 

这个问题是与一段时间后返回以下错误make命令:

Scanning dependencies of target pcl_convert_pcd_ascii_binary 
    [ 12%] Building CXX object io/tools/CMakeFiles/pcl_convert_pcd_ascii_binary.dir/convert_pcd_ascii_binary.cpp.o 
    Linking CXX executable ../../bin/pcl_convert_pcd_ascii_binary 
    ../../lib/libpcl_common.so.1.7.1: error: undefined reference to 'boost::thread::join_noexcept()' 
    ../../lib/libpcl_common.so.1.7.1: error: undefined reference to 'boost::thread::start_thread_noexcept()' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::filesystem::detail::permissions(boost::filesystem::path const&, boost::filesystem::perms, boost::system::error_code*)' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::filesystem::path::extension() const' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::filesystem::detail::dir_itr_close(void*&, void*&)' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::filesystem::path::stem() const' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::filesystem::directory_entry::m_get_status(boost::system::error_code*) const' 
    ../../lib/libpcl_io.so.1.7.1: error: undefined reference to 'boost::thread::do_try_join_until_noexcept(timespec const&, bool&)' 
    collect2: ld returned 1 exit status 
    make[2]: *** [bin/pcl_convert_pcd_ascii_binary] Error 1 
    make[1]: *** [io/tools/CMakeFiles/pcl_convert_pcd_ascii_binary.dir/all] Error 2 
    make: *** [all] Error 2 

这是一个链接问题是否正确?它可能是导致问题的增强安装吗?

我已经通过执行boost_1_55_0目录

sudo ./bootstrap 
sudo ./b2 install 

升压,然后安装在/ usr /本地/内部包括以下和/ usr /本地内置从源Boost库(1.55.0版)/lib目录

我用32位的Ubuntu 12.04

+1

这是一个链接问题。要查看链接器试图运行的命令,以及它引入的库,在运行make时,像这样运行:'VERBOSE = 1 make' –

+1

我有一个问题,有点像这样,但我可以'记住我是如何解决它的。这可能是多个版本的boost的问题。另外尝试一下,而不是'cmake',运行'ccmake'。 –

回答

1

我发现了一些libboost文件在/ usr/lib目录中,我忘了删除最后安装升压(由@DJDuff指出)。删除这些文件并重新安装boost可以解决问题。