问题标签 [cmakelists-options]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
41 浏览

cmake - CMake:获取用于编译的头文件列表

我正在尝试构建一个子 C 项目,该项目从另一个项目递归地引用多个标头,该项目还包含未使用的标头。而不是将所有不需要的头文件包含在target_include_directories. 我只想包含所需的标题。

注意:C项目的CMake Build不是100%通过的。我在几个标题中遇到错误。

我想要那些中间构建文件,即 C 源使用的头文件列表。

有没有办法获取列表?

与C 文件包含的所有头文件的GCC 列表相关的问题

0 投票
1 回答
374 浏览

visual-studio-code - 如何将 ESP-IDF 库添加到外部库

我正在尝试将外部库添加到我的项目中。

我的项目结构如下所示:

我在 project/components/displaylibrarys 中的 CMakeLists.txt 文件如下所示:

当我尝试编译我的项目时,我收到以下错误消息:

所以显然我的编译器没有将我的外部库中包含的 esp-idf 库与实际的 esp-idf 库链接起来。我也用这种方法试过

但没有结果。我应该如何正确地告诉我的编译器它知道这个库?

0 投票
0 回答
34 浏览

c - 在库崩溃以外的任何其他项目中从库中调用函数

我制作了一个处理 c 字符串的库。

我已将其添加到另一个项目 CMakeLists 中。问题是,每当我想从该库中调用一个函数时,它就会崩溃。

但是,如果我从库本身调用相同的函数,没有崩溃,函数调用会得到正确处理。

我一直在想我的 CMakeLists 做错了什么,但据我所知,以及我用来得出相同结论的不同方法,它看起来不再像它了。

我尝试在 gdb 中运行有问题的测试,这就是它返回的内容

我已经读到这可能是与内存分配错误有关的问题,但如果是这种情况,为什么我可以直接从我的库中调用该函数而不会出现任何错误?

复制相当简单的例子:https ://replit.com/@Mrcubix-Mrcubix/EmbellishedOldfashionedBaitware#lib/rule/src/test-create-destroy.c


为了简单起见,这是在相关库中调用的函数:

这里我调用的第二个库是一个函数,因为它是同一个项目的一部分:

这是 Rulestruct 使用的 CMakeLists:

最后,这是我从 ( test-create-destroy.c)调用函数的地方


下面是 bin、lib 和 cmake-gui 的截图:https ://imgur.com/a/3OdrC​​2D

如果我知道我做错了什么以及为什么做错了,我可能可以在每个项目上修复它,所以如果有人可以提供进一步的解释,那么我很乐意阅读它。

我还将获取有关与我的 CMakeLists 相关的问题或潜在问题的提示,因为我很难理解其中任何一个,需要混合多个示例和文档以对为什么以这种或那种方式完成某事有一点了解.

TLDR:在库内部以外的其他地方调用的函数 = 崩溃,接受有关所呈现数据的其他部分的提示(CMakeLists)。很高兴接受对问题核心的进一步解释。

0 投票
0 回答
44 浏览

cmake - CMake:链接位于根项目之外的共享库

如何处理项目根目录之外的库?目前我想使用 CMake 链接到我的项目共享库,该库不在某个库的根目录中。该库位于 lib 中,仅在位于 projects\project_n 的项目之间共享。另外,我需要每个项目独立构建库

目前我的 lib\CMakeLists.txt 看起来像这样:

projects\project_1\CMakeLists.txt 中负责 lib 链接的部分代码如下所示:

目前我收到以下错误: CMakeLists.txt:65 (target_include_directories) 处的 CMake 错误:无法为该项目未构建的目标“project_1”指定包含目录。

CMakeLists.txt:66 (target_link_directories) 处的 CMake 错误:无法为不是由该项目构建的目标“project_1”指定链接目录。

CMakeLists.txt:67 (target_link_libraries) 处的 CMake 错误:无法为不是由该项目构建的目标“project_1”指定链接库。

0 投票
0 回答
28 浏览

cmake - 如何将配置选项传递给cmake?

使用cmake时如何提供--disable-ldap之类的标志?
使用 ./configure 很简单,但是有关如何通过 cmake 进行配置的任何帮助?

0 投票
1 回答
3418 浏览

c++ - CMAKE_C_COMPILER 未设置,EnableLanguage 之后

除了 gcc 和 g++ 编译器之外,我还在 Windows 上安装了 CMake 我将变量添加到路径中,但仍然出现以下错误,请您帮忙。

在此处输入图像描述

0 投票
1 回答
68 浏览

c++ - 使用 cmake 指定 cuda 架构进行 cuda 编译

我有以下用于生成 750 cuda 拱门的 cmake 和 cuda 代码,但是,这总是导致CUDA_ARCH = 300(2080 ti 与 cuda 10.1)。set_property和都试过了target_compile_options,都失败了。我们有解决方案吗?在这种情况下cuda_add_executablecuda_add_library-gencode零件有效吗?</p>

0 投票
1 回答
34 浏览

c - CMAKE C 宏未传播到包含目录

我有一个要编译的开源 C 库,但要设置编译器以识别 OpenMPI,必须将 C 宏设置PARALLEL为 1,以便在头文件中:

将执行。下面是我正在处理的 CMAKE 文件,它将 src 目录添加为子目录,将头文件添加为 include_directory。

使用它PARELLEL为 src 目录中的所有内容正确设置 C 宏。但是,包含目录中的所有内容都PARALLEL未定义。

我用:

任何帮助表示赞赏。

0 投票
0 回答
25 浏览

cmake - 使用 CLion 开发 EOS 合约

我正在尝试使用 CLion 在 EOS 上开发合同,但是当我将包含用于 eosio 时,我无法使库工作,就像include <eosio/eosio.hpp>我收到错误“找不到文件。

我已经下载、编译和安装了EOSIO BinariesEOSIO CDT但是我仍然无法让它工作。

我的CMakeLists.txt长相是这样的

0 投票
1 回答
55 浏览

c++ - 检查 OpenCV 是否在 Cmake 中使用 GStreamer 支持编译

我需要类似的东西

如果 OpenCV 有 GStreamer,则编译某些二进制文件。有没有像我可以在 CMakeLists 中读取的变量?对替代解决方案持开放态度。