Используя boost.asio в cMake

Я относительно плохо знаком с cMake, и я пробую, используют повышение asio библиотека в моем проекте.

Я смог заставить cMake находить другие библиотеки повышения, такие как smart_ptr и lexical_cast, но я получаю ошибку компоновщика, когда я пытаюсь включать boost/asio.hpp:

LINK : fatal error LNK1104: cannot open file 'libboost_system-vc90-mt-1_40.lib'.  

Я затем пытался изменить свой CMakeLists.txt от

find_package(Boost 1.40.0 REQUIRED)

кому:

find_package(Boost 1.40.0 REQUIRED COMPONENTS asio)

cMake затем просит Boost_ASIO_LIBRARY_DEBUG и Boost_ASIO_LIBRARY_RELEASE. Я иду об этом правильным путем, и раз так где я должен указать на cMake для нахождения этих библиотек. (Я использую cMake 2.6 и повышение 1.40.0),

7
задан cquillen 16 January 2010 в 21:03
поделиться

1 ответ

В соответствии с документацией ASIO :

Следующие библиотеки должны быть доступны для подключения программ, использующих Boost.Asio:

  • Boost.System для Boost :: System :: Error_Code и Boost :: System :: System_Error Classes.
  • BOOST.REGEX (необязательно) Если вы используете какие-либо из перегрузки Read_until () или ASYNC_READ_UNTIL (), которые принимают усиление :: Pregex Parameter.
  • OpenSSL (необязательно), если вы используете поддержку SSL Boost.Asio.

Если вы посмотрите на ошибку своей ссылки, вы увидите, что она ищет библиотеку Boost.system. Я бы попробую изменить ваши cmaklists.txt для чтения:

find_package(Boost 1.40.0 REQUIRED system)
11
ответ дан 6 December 2019 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: