Clion linux cmake error

Math library linking error in CLion on Linux [duplicate]

To do my homework I need #include «math.h» , but after updating GCC and CMake, CLion can’t link my project files. What should I do to fix this problem? In Settings -> Build, Execution and Deployment -> Toolchains CLion says that CMake version is 3.15.3 and GDB version is 8.3 and it’s OK. I already tired to reinstall GCC, CMake and CLion, but it didn’t work. Also I tired to search some info on StackOverflow, but still nothing works. Main.c:

#include #include int main() < FILE *output; output = fopen("/home/vadimsam/CLionProjects/untitled/data.txt", "w"); double x=0.,v=0.,t=0.,m=0.,k=0.,dt = 1e-5,xn,vn; while (t < 1e1) < vn = -x*sqrt((k/m))*cos(sqrt((k/m))*t)+v*cos(sqrt((k/m))*t); xn = -x*cos(sqrt((k/m))*t)+(v/sqrt((k/m)))*sin(sqrt((k/m))*t); t += dt; x = xn; v = vn; fprintf(output, "%lf %lf %lf\n", t, x, v); >fclose(output); return 0; > 
cmake_minimum_required(VERSION 3.15) project(untitled2 C) set(CMAKE_C_STANDARD 11) add_executable(untitled2 main.c) 
====================[ Build | untitled2 | Debug ]=============================== /home/vadimsam/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/193.5096.27/bin/cmake/linux/bin/cmake --build /home/vadimsam/CLionProjects/untitled2/cmake-build-debug --target untitled2 -- -j 8 Scanning dependencies of target untitled2 [ 50%] Building C object CMakeFiles/untitled2.dir/main.c.o [100%] Linking C executable untitled2 CMakeFiles/untitled2.dir/main.c.o: In function `main': /home/vadimsam/CLionProjects/untitled2/main.c:10: undefined reference to `sqrt' /home/vadimsam/CLionProjects/untitled2/main.c:10: undefined reference to `sqrt' /home/vadimsam/CLionProjects/untitled2/main.c:10: undefined reference to `cos' /home/vadimsam/CLionProjects/untitled2/main.c:10: undefined reference to `sqrt' /home/vadimsam/CLionProjects/untitled2/main.c:10: undefined reference to `cos' /home/vadimsam/CLionProjects/untitled2/main.c:11: undefined reference to `sqrt' /home/vadimsam/CLionProjects/untitled2/main.c:11: undefined reference to `cos' /home/vadimsam/CLionProjects/untitled2/main.c:11: undefined reference to `sqrt' /home/vadimsam/CLionProjects/untitled2/main.c:11: undefined reference to `sqrt' /home/vadimsam/CLionProjects/untitled2/main.c:11: undefined reference to `sin' collect2: error: ld returned 1 exit status CMakeFiles/untitled2.dir/build.make:83: recipe for target 'untitled2' failed make[3]: *** [untitled2] Error 1 CMakeFiles/Makefile2:75: recipe for target 'CMakeFiles/untitled2.dir/all' failed make[2]: *** [CMakeFiles/untitled2.dir/all] Error 2 CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/untitled2.dir/rule' failed make[1]: *** [CMakeFiles/untitled2.dir/rule] Error 2 Makefile:118: recipe for target 'untitled2' failed make: *** [untitled2] Error 2 

Источник

Как исправить ошибку «cannot find any CMake profile» при сборке проекта CLion?

Раньше пользовался VS, сегодня установил CLion. Не могу собрать проект. Ругается на CMake profile.

/home/andrey/Документы/programs/clion/CLion-2018.3/clion-2018.3/bin/cmake/linux/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /home/andrey/CLionProjects/SpiralMatrix CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred! See also "/home/andrey/CLionProjects/SpiralMatrix/cmake-build-debug/CMakeFiles/CMakeOutput.log". [Previous CMake output restored: 05.12.18 17:26] 

Как исправить? Заранее благодарен за помощь.

Читайте также:  my chart

Ответы (4 шт):

Написано прямым текстом, что у вас нет (или нельзя найти) программы make , чтобы собрать сгенерированные Makefile . Установите или укажите явно путь к ней.

Либо генерируйте не их, а что-то другое. Вероятно, проекты visual studio в вашем случае, раз компилятор есть.

Вам вполне ясно сообщается в выводе: CMake was unable to find a build program corresponding to «Unix Makefiles» . Тобишь у вас нет программы, которая могла бы собирать файлы, которые сгенерит cmake . Вангую, что у вас windows а раз так, то никакие не Unix Makefiles а по крайней мере MinGW Makefiles . А вообще для этих целей существуют генераторы — и для Clion я уверен тоже есть. Посмотреть их все можно запустив cmake с флагом -G и выберите нужный.

Коллеги, я не понимаю, почему на вполне корректный вопрос такая негативная реакция. я бы хотел ответить более благожелательно и подробно.

1) Ошибка говорит о том, что IDE CLion не может найти утилиту Cmake. Когда Вы устанавливали CLion — там в процессе установки был экран, на котором установщик проверяет наличие разных tools для работы ide. То есть, (в отличие от Visual Studio) среде разработки CLion нужны еще некотрые программы на Вашем компьютере для полноценной работы. И на одном из шагов установки об этом сообщаелось. Это две важные штуки — компилятор и CMake. Если вы испольузете Ubuntu, то устновка того и другого довольно элементарна:

Проверка того, что он установился (и версии)

Если Вы используете Windows, то Вам надо посмотреть ресурс https://cmake.org/download/ и оттуда скачать и установить CMale по инструкции. Скорее всего, все будет работать, главное — прописать путь до исполняемых файлов CMake в системном path системы Windows

Читайте также:  Linux изменить цвет консоли

2) Второй очень важный момент. Когда Вы создаёте проект в CLion — он в проект включает зависимости и скрипты для сборки. Если в момент создания проекта в системе не было CMake, то эти скрипты в проекте — неправильные. И они не исправятся сами по себе после установки CMake. Самый простой способ борьбы с ошибкой в этом случае — после установки CMake заново создать проект.

Понимаю что вопрос старый, но считаю необходимым ответить для следующего кто будет искать.

Ошибка «cannot find any CMake profiles» — это внутренняя ошибка CLion, она говорит о том, что вам необходимо настроить профиль для сборки. Профиль в CLion — это замена аргументам командной строки, которые нужно было бы передать при сборке через консоль. Обратите внимание, что CMake уже входит в поставку CLion, так что вам не нужно устанавливать его отдельно — если только вы не хотите использовать другую версию.

Зайдите в меню File -> Settings. , в нем выберите вкладку Build, Execution, Deployment -> CMake . На этой странице вы можете создать и настроить профиль сборки точно так же, как это делается из командной строки (это хорошо описано в документации самого CMake). По-умолчанию там уже есть один профиль, Debug, но если ваш проект требует дополнительных настроек для сборки (например указания пути к какой-то сторонней библиотеке), то CLion не сможет сгенерировать проект с текущими настройками, и выведет довольно путающую ошибку «cannot find any CMake profiles» (хотя технически профиль есть).

Обратите внимание: хотя меню Settings хранит глобальные настройки, настройки профиля сохраняются отдельно для каждого проекта, т.ч. изменение профилей не помешает сборке других ваших программ.

Что касается следующих ошибок:

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage 

Они говорят о том, что у вас не настроен toolchain, т.е. набор компиляторов и утилит для сборки, из-за чего текущий профиль не может быть использован.

Читайте также:  Компиляция файла gcc linux

Если вы используете Linux, или если вы используете Windows и у вас уже установлена Visual Studio — CLion должен был сам найти подходящий компилятор. Вы можете проверить это, открыв вкладку Toolchains рядом с той, в котороый вы настраивали профили.

Если компилятор действительно не настроен, я советую вам посмотреть вот эти инструкции по настройке: Quick Tutorial: Configure CLion on Windows.
Для Linux воспользуйтесь инструкцией по установки компилятора для вашего дистрибутива. После настройки toolchain вам нужно будет зайти в текущий профиль, и выбрать его в качестве используемого — это исправит ошибки.

Также советую вам ознакомиться с документацией по самому CMake, и с циклом статей на русском языке на Хабре:
Официальная документация CMake (на английском)
Полное руководство по CMake (статья на русском)

Источник

CMake errors in CLion when using for WSL

My Windows user is administrator, so I suspect that WSL has insufficient permissions, and I tried to switch the default user of WSL to root.

ubuntu config --default-user root 

The following image shows the state of CLion after I switched to root. CLion status

There are still errors, but it can detect CMake and I can now use CMake to build the program.

Lastly, here is my original error message.

CMake Error: Could not open file for write in copy operation /mnt/c/Users/Administrator/AppData/Local/Temp/cmake_check_environment1/_build9958369055144970030/CMakeFiles/3.22.1/CMakeSystem.cmake.tmp CMake Error: : System Error: Inappropriate ioctl for device CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake:193 (configure_file): configure_file Problem configuring file Call Stack (most recent call first): CMakeLists.txt:1 (project) . . CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:56 (try_compile): Unknown extension ".c" for file /mnt/c/Users/Administrator/AppData/Local/Temp/cmake_check_environment1/_build9958369055144970030/CMakeFiles/CMakeTmp/testCCompiler.c try_compile() works only for enabled languages. Currently these are: C CXX See project() command to enable other languages. Call Stack (most recent call first): CMakeLists.txt:1 (project) -- Check for working C compiler: /usr/bin/cc - broken CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message): The C compiler "/usr/bin/cc" is not able to compile a simple test program. It fails with the following output: CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:1 (project) -- Configuring incomplete, errors occurred! 

Источник

Оцените статью
Adblock
detector