は私がCMakeを使ってubuntuにインストールされたBoostライブラリを見つける方法はありますか?
sudo apt-get install libboost-all-dev
このコマンドを使用してブーストをインストールしていると私はmain.cppに
#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
int main()
{
boost::asio::io_service io;
boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
t.wait();
std::cout << "Hello, world!" << std::endl;
return 0;
}
にこの簡単な例を書いて、私のCMakeLists.txtに、私はこの持っている:
cmake_minimum_required(VERSION 2.8)
find_package(Boost REQUIRED)
if(NOT Boost_FOUND)
message(SEND_ERROR "Failed to find Boost")
return()
else()
include_directories(${Boost_INCLUDE_DIR})
endif()
add_executable(main main.cpp)
を
CMakeは正常に動作しましたが、makeで起動した後にいくつかのエラーが発生しました:
main.cpp:(.text+0x11f): undefined reference to `boost::system::generic_category()'
正しくCMakeがライブラリを見つけるように私のCMakeLists.txtにboostを入れる方法は?
CMakeのバージョンが最新のものであることを確認してください:https://stackoverflow.com/a/42124857/2799037 – usr1234567