2015-11-21 4 views
0

Я пытаюсь связать библиотеки Boost в моем CMakeList в Windows. Вот мой код:Boost - CMake не находит lib

set(BOOST_ROOT C:/lib/boost_1_59_0) 
set(BOOST_LIBRARYDIR C:/lib/boost_1_59_0/lib) 
find_package(Boost COMPONENTS system REQUIRED) 
if(Boost_FOUND) 
    include_directories(${Boost_INCLUDE_DIRS}) 
    target_link_libraries(${EXECUTABLE_NAME} ${Boost_LIBRARIES}) 
endif() 

Моя папка "Lib" содержит все Lib сборки по bjam, в том числе "libboost_system-vc140-мт-1_59.lib" и «libboost_system-vc140-мт-Г.Д.-1_59.lib ».

Он работает для заголовков, но не находит libs. У меня есть эта ошибка:

Error:Unable to find the requested Boost libraries. 
Boost version: 1.59.0 
Boost include path: C:/lib/boost_1_59_0 
Could not find the following Boost libraries: 
    boost_system 
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost. 

я стараюсь много вещей (это первый раз, когда я задать вопрос здесь, я действительно искать много, прежде чем спрашивать), как «add_definitions (-DBOOST_ALL_NO_LIB)» или изменить путь на «C: \ lib \ boost_1_59_0», но я не нашел ничего, чтобы исправить это.

Если у кого-нибудь есть идея, я буду ему очень благодарен!

+2

Запуск с переменной 'Boost_DEBUG', заданной равной нулю. Должны быть дополнительные сообщения от Boost в журнале построения. Также может быть полезно установить переменную 'Boost_DETAILED_FAILURE_MSG'. – Tsyvarev

+0

Я искал «Boost_DEBUG», и я нахожу свой ответ, поэтому спасибо! Я забыл сказать bjam, что я использую mingw. –

ответ

0

CMake Конфигурация- Boost- Visual Studio - C++

Шаг 1: Загрузите установочный файл CMake, установить и сохранить его в локальном диске

Шаг 2: Создайте 2 папки в локальном диске а) Сырое Файл b) Файл решения

Шаг 3: папка с необработанным файлом. Создайте файл Main.cpp и вставьте исходный код C++ и сохраните его. Теперь в той же папке создайте txt-файл с именем CMakeLists и вставьте в него следующий код и сохраните.

cmake_minimum_required(VERSION 3.7) 
project (cmboosttest) 
#find_package(Boost REQUIRED) 
#include_directories(${Boost_INCLUDE_DIR}) 
add_executable(boosttest ${PROJECT_SOURCE_DIR}/Main.cpp) 

Шаг 4: Откройте CMake, выберите папку «Сырье» в источнике просмотра и папке «Файл решения» в сборке просмотра.

Шаг 5: Нажмите «Настроить». После успешного завершения нажмите «Создать».

Шаг 6: Когда вы открываете папку Solution File, вы можете увидеть файл встроенного решения. Нажмите на нее, и ваша программа откроется в Visual Studio. Теперь создайте свою программу в VS.

Надеюсь, это поможет!

Смежные вопросы