Bezdepbonusu7Программирование: статьи и ответы

Вопрос

CLion и CMake: только сборка библиотеки без исполняемого файла?

Автор вопроса: ilwОтветов: 2

Как создать статическую библиотеку только с clion без исполняемого файла? Как выглядит CMakeLists.txt? (без add_executable)

Обновление: если я не добавлю исполняемый файл в Clion, у меня будет ошибка, что исполняемый файл требуется.

Вот мой CMakeLists.txt.

  • Ваша проблема не связана с CLion, это всего лишь вопрос CMake. usr1234567 31.03.2015
  • Хорошо, тогда ваша проблема совершенно не связана с CMake. Вы настраиваете запуск исполняемого файла, и у вас нет исполняемого файла, только библиотека. CLion не может выполнить библиотеку, поэтому возникает ошибка. usr1234567 31.03.2015
  • Я неправильно понял ваш вопрос. Это помогает? stackoverflow.com/questions/27869503/clion-build-depend-targets< /а> usr1234567 31.03.2015
  • CMakeLists.txt больше недоступен, я проверил web.archive.org. kres0345 15.06.2019

static-librariescmakeclion

Ответы

Ответ 1 · рейтинг 20 · Praminda

Это старый вопрос. Но я добавлю ответ на ваш вопрос в помощь другим людям. Вам нужно заменить add_executable на add_library

add_library(target_name source_files)

Ответ 2 · рейтинг 1 · user2983585

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

Длинный ответ:

CLion позволяет либо собрать весь проект, либо запустить исполняемые файлы/конфигурации.

При запуске исполняемых файлов вы можете выбрать цель для компиляции и исполняемый файл для запуска после компиляции цели. Для исполняемых целей это обычно одно и то же. Вы компилируете исполняемую цель, а затем запускаете ее.

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

Поэтому люди, вероятно, хотят просто собрать библиотеку (чтобы проверить, все ли в порядке и т. д.) без компиляции или запуска каких-либо дополнительных исполняемых файлов. В этом случае обходным путем является выбор пользовательского исполняемого файла для запуска после сборки библиотеки, и сообщение об ошибке исчезнет.

У вас нет ничего полезного, что вам нужно запустить после сборки библиотеки, просто выберите любую дешевую команду в качестве заполнителя. Что-то вроде pwd или ls.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы