cmake 3.0.2 не может найти повышение на 14.04

Выполнить команду ниже:

pkexec chown root:root -R /etc

Теперь напишите свой пароль.

1
задан 20 November 2014 в 20:04

3 ответа

Спасибо, Rohith.

В качестве альтернативного решения я загрузил и построил последнюю версию boost и добавил переменную BOOST_ROOT в ~ / .profile, как это:

export BOOST_ROOT=$HOME/work/boost_1_57_0

Обратите внимание: этот boost должен быть создан, если вы используете его не-заголовковые библиотеки.

1
ответ дан 24 May 2018 в 01:42

Я также встречаю такую ​​неловкую ситуацию в ubuntu ...

Мое решение просто не используется find_package, но добавляет библиотеки в процесс ссылки

target_link_libraries( your_program boost_system boost_filesystem ... )

Плохое дело в том, что cmake не может исследовать существование библиотеки boost. Тем не менее, он просто работает.

Надеюсь, что кто-то может найти лучшее решение.

1
ответ дан 24 May 2018 в 01:42

В 14.04 (и, возможно, ранее) до 16.04 я мог бы использовать их:

find_package( Boost COMPONENTS filesystem system REQUIRED )

include_directories(
    ${BOOST_INCLUDE_DIRS}
)

target_link_libraries(${PROJECT_NAME}
    ${Boost_FILESYSTEM_LIBRARY}
    ${Boost_SYSTEM_LIBRARY}
}

Если вам нужны только заголовки, вам не нужно указывать какой-либо компонент и нет target_link_libraries():

find_package( Boost REQUIRED )

include_directories(
    ${BOOST_INCLUDE_DIRS}
)

С 16.10 я должен был установить libboost-all-dev, чтобы мой код продолжал компилироваться на Ubuntu.

sudo apt-get install libboost-all-dev

Предыдущие версии работали только с libboost-dev, как-то. Хотя похоже, что вы уже выяснили эту часть, я просто хотел убедиться, что было ясно указано, что в последнее время произошли изменения.

1
ответ дан 24 May 2018 в 01:42

Другие вопросы по тегам:

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