cmake

使用 CMake 将文件从源目录复制到二进制目录

我正在尝试在 CLion 上创建一个简单的项目。它使用 CMake(我是新来的)生成 Makefile 来构建项目(或某种项目) 每次运行我的代码时,我只需要将一些非项目文件(某种资源文件)转移到二进制目录。 该文件包含测试数据,应用程序打开它来读取它们。我尝试了几种方法: 通过file(COPY ... file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/in... »

qemu-arm 分段错误

拿一个简单的文件: int main(void) { return 0; } 我的 CMakeLists.txt 文件: cmake_minimum_required(VERSION 3.20) project(TRA VERSION 0.0.1 DESCRIPTION "STM32 Traffic Controller" LANGUAGES ... »

无法链接到 C++ 中已编译的 /.so 源库

我是 C++ 新手。我正在尝试在 C++ 程序中使用 MySQL 复制从 MySQL 读取二进制日志。 我从 Internet 获得了头文件和 .cpp 源文件。现在我将头文件放在/usr/include/mysql 文件夹中,并将CPLUS_INCLUDE_PATH 的路径设置为指向它。它能够使用头文件。另外,我已将.cpp 文件放在/usr/lib64/mysql 文件夹中,并编译了所有.... »

Cmake 不适用于 Maverick 上的 openMP

我正在使用 OpenMP 编写并行代码。 这是我案例中使用的 CMakeLists 的一部分。 FIND_PACKAGE( OpenMP REQUIRED) if(OPENMP_FOUND) message("OPENMP FOUND") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") ... »

c++

如何使用 CMake 为 Linux 链接和编译 C++ 项目? (改编 CMakeLists.txt)

上下文:我想为 Linux、Windows 和 MacOS 创建一个 GameClient、GameServer 和自定义库(客户端和服务器都使用)跨平台。服务器和客户端都依赖于我更喜欢​​静态链接的各种库和标题。我听说我可以通过将我目前 VisualStudio 开发的 3 个项目包装到 CMake 环境中来做到这一点,所以我首先为 Server 和 Shared lib 制作 CMakeLis... »

c++

最简单但完整的 CMake 示例

不知何故,我对 CMake 的工作方式完全感到困惑。每次我认为我越来越接近理解 CMake 的编写方式时,它在我阅读的下一个示例中消失了。我想知道的是,我应该如何构建我的项目,以便我的 CMake 在未来需要最少的维护。例如,当我在我的 src 树中添加一个新文件夹时,我不想更新我的 CMakeList.txt,它的工作方式与所有其他 src 文件夹完全相同。 这就是我想象我的项目结构的方式,但... »

c++

clang-tidy 报告未知警告

我有一个使用 GCC 的 CMake 构建。我生成了 compile_commands.json 然后运行 ​​clang-tidy 但我得到了数百个: error: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [clang-diagnostic-unknown-war... »

c++

寻找“cmake clean”命令来清除 CMake 输出

就像make clean 删除makefile 生成的所有文件一样,我想对CMake 做同样的事情。我经常发现自己手动浏览目录,删除像 cmake_install.cmake 和 CMakeCache.txt 之类的文件,以及 CMakeFiles 文件夹。 是否有类似cmake clean 的命令可以自动删除所有这些文件?理想情况下,这应该遵循当前目录的CMakeLists.txt 文件中定义... »

使用 gmock 进行 CMake

我只是想确保我对 CMakeLists.txt 的理解是正确的。我的虚拟项目结构: |-+ dummy |-+ CMakeLists.txt |-+ src |-- CMakeLists.txt |-- Converter.cpp |-- Converter.hpp |-- main.cpp |-+ tests ... »

c++

如何编译我的代码并链接到 Trilinos 库

我刚刚安装了 trilinos 11.0.3,现在我正在尝试使用 cmake 编译我的第一个应用程序。 我要编译的文件在这里 http://code.google.com/p/trilinos/wiki/EpetraSimpleVector 第一个命令 cmake 似乎有效,尽管我收到以下警告(以防万一它相关)每个 trilinos 包: CMake Warning (dev) at... »

是否可以使用黄金链接器编译和链接 Clang/LLVM?

我正在为 LLVM/Clang 编写自定义通行证,重新编译往往需要一段时间并使用大量内存。我听说黄金链接器 (1) 花费的时间更少,并且 (2) 使用的内存比标准 ld 链接器少。 有没有办法将标志传递到 LLVM/Clang 构建过程并更改为黄金链接器?根据this answer,我一直在尝试使用覆盖文件,但似乎没有取得很大成功。 我还要注意,我正在使用 Clang 3.9 编译最新的 Cl... »

使用 cmake 构建项目时出现 OpenCV 3.2.0 链接器错误

我错误地删除了我的 /usr/local 文件夹,之后我不得不再次构建 OpenCV 和 Caffe。现在我的项目没有编译。每次我尝试使用 cmake 构建项目时,都会出现错误并停止进度。 [ 80%] Built target mygoturn [ 80%] Linking CXX executable ../bin/runTracker /usr/bin/ld: CMakeFiles/run... »

使用 cmake 构建库

很抱歉打扰大家,但是我在 cmake 编译时遇到了一点问题。 我有一个用于构建测试可执行文件的 CMakeLists.txt 文件和一个共享库。它们都依赖于另一个库 (SFML)。 我在带有 MinGW 的窗口上使用 cmake。 我知道我正在构建的库的名称与 sfml 的名称有点混淆,但它应该是 SFML 包装器,所以我没有找到更好的名称! 这里是 CMakeLists.txt cma... »

c++

如何使用 arm-none-eabi-gcc + cmake 设置 cmocka 示例?

我正在为基于 stm32f4xx 的系统开发固件。 为此,我基于 ARM 和 cmake 形式的 arm-none-eabi-gcc 工具链设置了一个工具链。 该工具链适用于 Ubuntu。我可以 x 编译和调试(通过 openocd + eclipse IDE)。 现在我想为我的代码添加一些功能测试。我正在检查,似乎 cmocka 是用于嵌入式软件测试的好工具。 我现在正在寻找将测试集成到 c... »

c

Linux - 在动态和静态加载时调用相同的函数

我有一个编译成 .so 文件的 c++ 项目(使用 g++5 编译)。 在另一个项目中(在同一解决方案下)我有一个链接到该项目的测试(CMake 的命令 target_link_libraries(...))。 我编译项目,并将输出的 .so 文件复制到“/tmp/proj.so”。 除了将测试链接到项目之外,我还使用dlopen动态加载“/tmp/proj.so”,它有一个全局函数creat... »

c++

不能在 cmake_pch.h 中包含标准库

我正在尝试在 cmake 中生成一个包含我经常使用的标准库的预编译头文件。当我运行 cmake 时没有错误,但是当我构建它时说它在 cmake_pch.h 中找不到标头。 这是我的 cmake 脚本的 sn-p,它添加了预编译的标头: target_precompile_headers(fae-core PRIVATE <algorithm> <cstddef&g... »

c++

gtkmm hello world 错误:glibmm/ustring.h:没有这样的文件或目录

我是 GTK 和 gtkmm 的新手。我一直在尝试为 gtkmm 编译一个示例 hello world 代码,导致 gtkmm/button.h: No such file or directory 我通过提供标头路径解决了这个问题,但现在我遇到了这个我无法修复的新错误。 In file included from /home/kshitij/Tutorials/HMI/libhelloworld... »

c++

MacOS 上 QT 6.2.2 的 VSCode IntelliSense 问题

我知道,有很多类似的问题,但现有线程的解决方案对我没有帮助。 我已经在 MacOS 12.0.1 上安装了 QT6.2.2(官方安装程序)。项目(cmake)在 QTCreator 中打开并构建良好。在 VSCode 项目构建和智能感知中大部分工作正常,除了这包括(带有 QtWidgets、QtCore 等前缀): #include <QtWidgets/qtwidgetsglobal.h&... »

c++

如何从两个目录构建静态库?

我有两个文件夹,里面有两个不同的库。 LibBase LibPublic LibB 包含一些 LibBase 的标头。 我希望将 LibPublic 作为静态库,在其 .a 文件中包含“LibBase”。 每个 CMakeLists.txt 是: set(SRCLIB file.cpp) add_library(${PROJECT_NAME} ${SRCLIB}) add_library(... »

c++