繁体   English   中英

CLion 和 CMake:只构建一个没有可执行文件的库?

CLion and CMake: only building a library without an executable?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

如何在没有可执行文件的情况下仅使用clion构建静态库? CMakeLists.txt 是什么样的? (没有add_executable

更新:如果我不向 Clion 添加可执行文件,则会出现一个错误,即需要一个可执行文件。

这是我的CMakeLists.txt

2 个回复

这是一个老问题。 但是我会将您的问题的答案添加为对其他人的帮助。 您需要更换add_executableadd_library

add_library(target_name source_files)

简短回答:编译库目标并运行任何自定义命令作为占位符以避免警告。

长答案:

CLion 允许您构建整个项目并运行可执行文件/配置。

运行可执行文件时,您可以选择编译目标和编译目标后运行的可执行文件。 对于可执行目标,它们通常是一回事。 您编译可执行目标,然后运行它。

看起来这并不是真正为图书馆设计的,但有一个解决方法。 您通常将目标设置为库,将可执行文件设置为依赖于该库的任何可执行文件。 然而,这通常不是很有用,因为如果你想运行这个可执行文件,你只需将这个可执行文件设置为目标,无论如何都会构建库。

因此,人们可能只想构建库(以检查一切是否正常等),而无需编译或运行任何额外的可执行目标。 在这种情况下,解决方法是在构建库后选择一个自定义可执行文件来运行,错误消息消失了。

构建库后,您不需要运行任何有用的东西,只需选择任何便宜的命令作为占位符即可。 诸如“pwd”或“ls”之类的东西。

设置配置

2 使用cmake使用一个目标名称构建一个库和多个可执行文件

我目前正在努力从内部构建系统迁移到cmake,到目前为止,我一直很满意。 我们的源代码分为离散的命名组件。 这些组件通常将构建一个库和一组可执行文件。 我使用基本CMakeLists.txt设置了cmake,然后在每个代码组件中创建了CMakeLists.txt,然后将其包含在基本组件 ...

2014-04-10 18:09:28 1 2033   cmake
3 CMake:使用静态库在一个项目中构建多个可执行文件

我正在一个由3个服务器可执行文件和一个共享代码库组成的项目中。 我希望它是跨平台的,所以我正在使用CMake(因为无论如何Xcode都很痛苦)来处理构建过程。 我在设置CMakeList时遇到麻烦,因此在构建可执行文件时,可以从同一级别的目录中包含库。 这是目录结构(和CMake文件) ...

2014-05-15 17:16:36 1 20997   c++/ cmake
4 Clion“无法加载 CMake 项目:CMake 可执行文件不正确”问题

我在尝试使用 Clion 时遇到了问题。 我导入了一个项目,但所有的标题和 .cpp 文件都变灰了。 显示的错误如标题所示:“无法加载 CMake 项目:CMake 可执行文件不正确”。 这是它的屏幕截图。 值得注意的是,我正在使用 kubuntu 并下载了以下所有内容:gcc、g++、make、c ...

6 CMake构建静态可执行文件

我想构建一个包含我使用过的所有库(opencv,dlib)的可执行文件,以便它可以在任何计算机上工作。 这是我当前的CMakeList.txt 这是我链接时遇到的错误 我在/usr/lib/x86_64-linux-gnu/有libwebp.a 如何强制使用静态libwe ...

8 CMake在构建另一个之前运行构建的可执行文件?

如何在构建另一个之前告诉CMake构建并运行可执行文件? 所以我有2个可执行文件“a”和“b”,其中“a”需要运行才能生成“b”的头文件。 因此“a”将2个文件夹作为参数,在其中从xml文件生成头文件,从输入目录到输出目录。 有没有办法告诉CMake这样做,以及知道修改xml文件的时间 ...

2014-08-21 23:46:39 1 6196   cmake
9 如何使cmake仅为docker构建可执行文件?

如果我生成一个cmake文件,请使用make创建一个executeble并删除可执行文件以外的所有内容,该可执行文件仍然可以使用。 我可以吗, 构建文件,但唯一的输出是可以用./project执行的文件 要么 拥有所有文件,使用make创建可执行文件,然后删除可执行 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM