问题标签 [cmake-format]
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.
cmake - 是否有任何实用程序可以重新格式化 cmake 文件
我有相对复杂的 cmake 文件,我想知道是否有任何实用程序可以重新格式化 cmakeList.txt 并美化它以便于阅读?
一些简单的技巧可以完成这项工作,例如缩进 if else endif 部分等等。
有没有这样的工具?
我是用notepad++编辑的,但是如果有其他工具我可以切换。
cmake - 使用 Clang-Format 格式化 CMakeLists.txt
有没有办法让clang-format正确格式化 CMake 文件?
我有一个.clang-format
文件Language: Cpp
和BasedOnStyle: Google
. 没有指定其他语言。
理想情况下,我想自定义样式,但是现在最大的问题是,clang 格式缩进了很多行。文件越长,我得到的缩进级别就越多。
问题:
- 有没有办法让 clang-format 将 a 识别为与Cpp
CMakeLists.txt
不同的语言? - clang-format 是否可以让我为 CMake 语言添加规则?
- 在这种情况下是否存在 clang-format 的替代方案?
例子
输入
实际输出
预期输出:与输入相同。或者命令和括号之间可能没有空格。
cmake - 不同子目录中的相同库名称:在父级调用 `add_subdirectory` 时发生冲突
简单的文件夹结构就像
假设我add_library(SubDirLib fooX.cpp)
在SubA/CMakeLists.txt
其中X 分别是 A 和 B ,SubB/CMakeLists.txt
我如何链接两个库SubA/SubDirLib
和?请注意,如果我打电话,它将是名称冲突SubB/SubDirLib
Root/CMakeLists.txt
在Root/CMakeLists.txt
linux - CMake 错误“包含找不到加载文件:FetchContent”
cmake
在 Ubuntu 上执行命令时出现以下错误。CMake 版本 - 3.10.2。
以下是第CMakeLists.txt
1 行的内容。31:
我是新手,今天才开始使用 CMake。如果我在 CMake 中做错了什么和/或遗漏了什么,请告诉我。
include(FetchContent)
在 Ubuntu 上支持 CMAke 版本 - 3.10.2。
visual-studio - 如何在 CMake 中正确链接外部库的路径?
在 CMakeLists.txt 中,如果我将 .lib(静态库)文件路径定义为绝对路径,则它工作正常。但如果我定义与相对路径相同,则会引发错误。如何在没有硬编码的情况下解决它?
文件结构:
这种方式工作正常:
这种方式会引发错误:
我的 CMakeLists.txt 路径:D:\Rohit\Sandbox\demo\src\abc\CmakeLists.txt
这是我得到的错误:链接:致命错误 LNK1104:无法打开文件 '\lib\foo.lib'
另外,如果我想包含其他文件夹中的 .lib 文件(假设 foo2.lib 文件存在于工作区的 xyz 文件夹中),如何定义它?
c++ - 如何将库编译到 lib/ 文件夹中?
这是我作为开发人员第一次使用 CMake,我想为我的项目编译一些库到 lib/ 文件夹中。
我在 Ubuntu 18.04 LTS 上并从命令行运行 CMake。
我希望使用 2 个库:
(我也在使用 TCLAP,但这完全是在头文件中实现的。)
我知道并正在使用标准文件夹布局(bin/
、build/
、include/
、src/
等)。
这些库(尤其是 libnbt++)是针对这个项目的,我不想全局安装它们。如何将它们编译到我的lib/
文件夹中?
c++ - 链接库作为cmake工具链文件中标志的一部分
我试图添加PROFILE
到CMAKE_BUILD_TYPES
. 为此,我需要添加-finstrument-functions
到CMAKE_CXX_FLAGS
工具链文件中,并将所属库与 CMakeLists.txt 中的绝对路径通过target_link_libraries
. 到目前为止,一切都很好,没有问题。
但是在刷新构建信息时,cmake 会检查编译器是否仍然有效。而现在“无法编译简单的测试程序”,由于缺少所需的库,该库稍后在 CMakeLists 中链接。
所以我评论了这个-finstrument-functions
标志并且可以编译测试程序。
我尝试过: - 使用 -L -l 将库和路径设置为 CXX 标志的一部分:
使用
link_directories(<dir>)
命令以及SET(CMAKE_LINK_DIRECTORIES_BEFORE <Path> )
和SET(CMAKE_LIBRARY_PATH <Path>)
在工具链文件中设置变量,稍后在 cmakelists 中调用它们:
但随后得到错误:mingw32-make.exe[3]: *** No rule to make target 'C:/qnx700/target/qnx7/armle-v7/usr/liblibprofilingS.a', needed by '../out/profileout'. Stop.
有没有人有更多的想法?提前致谢。
c++ - 在 MacOS 上使用 CLion 编译 32 位 C++ 程序
我在 Mac OSX 10.14 上运行的 CLion 中的 CMake 文件遇到问题。目前,我使用讲师构建的“supplied.o”文件从 Linux 服务器复制的 32 位程序具有以下内容。我想在 CLion 中工作,想知道是否可以添加到 CLion 以在 Linux 服务器之外工作?
我试着在这里四处寻找,看看我是否能弄明白,但可能我没有 32 位 G++ 库(是 i386 吗?)并且不太确定如何安装它。我有自制软件,并且对 Linux 感到很舒服,可以在那里工作,但我喜欢 CLion,因为它可以快速获得想法。感谢任何人都可以提供的任何帮助!
cmake - 每次迁移到相同的新硬件时,如何避免重建 15GB-8 小时长的 PCL 库?
我正在使用 Jetson TX2 板来处理 PCL 和 GPU。由于任何 apt-repos 上都没有 GPU 子系统,因此我被告知每次迁移到新系统时都要从源代码构建它们。
由于所有硬件都是相同的,我怎样才能将最初在其他系统上构建的相同 PCL 库复制到新系统并直接开始使用?我不断收到 CMAKE 错误:
解决方法是什么?
cmake - 无法使用 host=x86 或 -A Win32 为 Visual Studio 2019 生成 32 位配置
我正在尝试将 cmake 配置为分别构建 32 位和 64 位...
到目前为止 64 位很容易,因为我只需要添加 -A x64
但我无法设置 32 位拱门。官方文档建议 -A Win32 或 -T host=x86
https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2016%202019.html
即使使用它们我也无法设置 x86 主机
我试过的:
没有任何效果,这是我一直在获取的日志...