LINUX.ORG.RU

cmake и target_compiler_features

 


0

1

Я не разработчик на Linux, но мне нужно проверить пакет расширения для PostgreSQL. После скачивания дистрибутива выполняю команду cmake. Для исходной строки файла CMakeLists.txt «target_compiler_features(имя PRIVATE c_std_11)» выдаётся ошибка:target_compile_features specified unknown feature «c_std_11» for target имя. На компьютере только лишь для проведения проверок был установлен Alt Linux, cmake 3.6.3, x86_64-alt-linux-gcc (GCC) 5.3.1 (это вывод команды gcc –version). Проверка на минимальную версию cmake проходит, проверка на версию компилятора в CMakeLists.txt выполняется так: if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0) set(CMAKE_CXX17_STANDARD_COMPILE_OPTION «-std=c++17») set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION «-std=gnu++17») elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1) set(CMAKE_CXX17_STANDARD_COMPILE_OPTION «-std=c++1z») set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION «-std=gnu++1z») endif() Не похоже, чтобы мой случай был связан со старой версией компилятора. После выполнения команды cmake необходимо выполнить команду make. Если закомментировать упомянутую строку, cmake завершается «без ошибок», но при выполнении make ожидаемо получаю массу ошибок вида «This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options». В поисковике на тему «cmake c_std_11» выдаётся много информации, быстро усвоить её не получается. Подскажите, пожалуйста, в какую сторону двигаться для устранения описанной проблемы?

Оформи сообщение так, чтобы его можно было прочесть

XMs ★★★★★ ()

Нужен CMake версии 3.8 или новее.

i-rinat ★★★★★ ()
Ответ на: комментарий от Deleted

Спасибо, erthink и i-rinat! Ваши советы помогли! В файле CMakeLists.txt была проверка на минимальную версию 3.5 и это дезориентировало меня. После установки cmake 3.16 и более новой версии GCC пакет построился. Сообщил его разработчику о необходимости проверки на более высокие минимальные версии cmake и компилятора.

lexa_amn ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.