#c #cmake #clion
#c #cmake #clion
Вопрос:
У меня есть проект C в CLion, и все работает хорошо. Сегодня я хотел добавить новую цель, назовем ее emst
, которая является ничем иным, как этимhttps://doc.cgal.org/latest/BGL/BGL_triangulation_2_2emst_8cpp-example.html. Я делаю обычную вещь, которая всегда работала для меня: 1) создаю папку, говорю «помощник» 2) помещаю файл «emst.cpp » в него 3) создайте CMakeLists.txt со следующим содержимым:
include_directories(${CMAKE_SOURCE_DIR})
add_executable(emst emst.cpp)
target_link_libraries(emst
PRIVATE sdsl)
target_compile_options(emst BEFORE PUBLIC -mcmodel=large PRIVATE -pg -g -O2)
Не обращайте внимания на такие вещи, как sdsl
— это библиотека, установленная в моей системе, и у меня нет проблем с вышеуказанной настройкой для всего остального кода в проекте.
В целом структура выглядит следующим образом:
Теперь цель emst
не отображается среди целей CLion
. Как это может быть? Я помню, как кто-то предлагал в SE Mark directory as Source
или as Library
, но ни один из них не сработал для меня. Чего мне не хватает? У меня была точно такая же настройка для всех других cpp
целей в моем проекте, и до сих пор она работала нормально.
В нем также говорится
Не удается скомпилировать файл ’emst.cpp ‘. Не удается найти конфигурацию запуска для этого файла
РЕДАКТИРОВАТЬ: из значков вы можете видеть, что CMakeLists.txt
обрабатывается только как текстовый файл в указанном выше каталоге: