草庐IT

c++ - CMake/CTest 代码覆盖检查

我可以在this之后使用cmake运行覆盖率检查维基页面。这非常简单,只需设置一个仪表板,我就可以在浏览器上很好地查看代码覆盖率(后一部分)。但我不想每次都ctest只是为了检查单个文件的进度。事实上,我想在本地检查子目录的代码覆盖率,而不是使用第三方代码的entre库。那么,我们如何检查子目录的代码覆盖率。当然,我使用add_test(....)在cmakelists.txt中编写了一个测试。我将尝试在没有任何代码的情况下进行一些解释。ClassA{public:A(){}....somanymethods......protected:~A(){}};//endclassA接下来我

c++ - CMake "clang++ is not able compile a simple test program"(软呢帽 20)

所以我尝试安装clang+cmake来编译一个简单的C++程序,但出现以下错误:--TheCcompileridentificationisGNU4.8.3--TheCXXcompileridentificationisClang3.5.0--CheckforworkingCcompiler:/usr/bin/cc--CheckforworkingCcompiler:/usr/bin/cc--works--DetectingCcompilerABIinfo--DetectingCcompilerABIinfo-done--CheckforworkingCXXcompiler:/usr/

c++ - cmake:我必须按什么顺序指定 TARGET_LINK_LIBRARIES

我一次又一次地与链接器问题作斗争,因为必须以正确的顺序指定TARGET_LINK_LIBRARIES中的所有库。但是我怎样才能确定这个顺序呢?示例:我有以下库libAdependsonboostlibBdependsonpostgresqlandlibA(andthereforeonboost)myTargetuseslibA,libBandboostdirectly(andthroughlibBdependsonpostgresql)由于所有必需的库仅在创建可执行文件时才被链接,因此我必须在链接myTarget(最终可执行文件)时指定所有库:TARGET_LINK_LIBRARIES

c++ - cmake opencv : Parse error in command line argument: -D 错误

我尝试安装opencv已经有一段时间了,但每次我在配置cmake时都会遇到一些问题。这是我正在尝试使用的cmake:cmake-DCMAKE_BUILD_TYPE=RELEASE-DBUILD_PYTHON_SUPPORT=ON-DWITH_XINE=ON-DWITH_OPENGL=ON-DINSTALL_C_EXAMPLES=ON-DINSTALL_PYTHON_EXAMPLES=ON-DWITH_TBB=ON-DBUILD_EXAMPLES=ON-DBUILD_NEW_PYTHON_SUPPORT=ON-DWITH_V4L=ON-DCMAKE_INSTALL_PREFIX=/hom

c++ - 安装前后使用 CMake 配置文件路径一致

我的层次结构中有不同的库和可执行文件作为子项目。他们中的大多数是守护进程。所以我有它们相应的cfg文件,这些应用程序在启动期间读取这些文件。我有两个问题。让我们有一个简单的场景:单个项目没有层次结构。我必须在有/没有install的情况下运行应用程序。因此,如果我放置一个安装指令以将cfg保存在/etc中,我可以获得一个不变的cfg路径。但在某些情况下我可能不希望安装。我想在执行make后立即运行可执行文件。那么如何以使用/不使用install的方式管理cfg?接下来是我的场景,其中我有一个子项目层次结构。其中监视器需要a.cfg和b.cfg。所有的配置文件都单独保存在另一个子项目中。

c++ - 尝试编译使用共享库的 C++ 程序时出错

我正在尝试编译一个示例程序,该程序使用C++中的共享库(也是我开发的),名称为libteSTLib.so。错误我编译共享库没有问题,但是当我尝试编译使用这个库的可执行文件时,出现以下错误:iface/libteSTLib.so:undefinedreferenceto'ALIB::function()'我做了什么我做了以下事情:C++库($project_dir/lib1中的文件)://HEADER#ifndefALIB_H#defineALIB_HnamespaceALIB{intfunction();}#endif----------------------------------

c++ - 对于给定的目标,如何将其依赖目标之一暴露给其依赖目标之一?

所以我试图了解我的一个C++项目出了什么问题。本质上,项目1工作正常,一切都很好。在我的项目的主头文件中#include"spdlog/spdlog.h"我在项目1中将spdlog作为子项目。此外,在我的项目1的CMake中,我有include_directories(spdlog/include)。现在,我正在构建项目2,它依赖于项目1并将其作为子项目。但是,当我尝试包含spdlog时,它不允许我并希望我制作完整的../project1/spdlog/include/spdlog.h。组织此依赖项并包含header的正确方法是什么? 最佳答案

c++ - 如何使用(配置文件)包含编译时依赖#defines 的外部头文件?

假设我正在编译(静态)库libfoo.a提供头文件foo.h.我将链接我的应用程序APP反对libfoo.a和#include在我的源代码中。libfoo正在使用CMake作为具有用户定义变量的构建系统,例如BUILD_WITH_OPTION_BAR作为定义传递给编译器:ADD_DEFINITIONS(BUILD_WITH_OPTION_BAR)内部foo.h我们会找到#ifdef使用此选项的声明:#ifdefBUILD_WITH_OPTION_BARtypedeflonglongintfooInt;#elsetypedefintfooInt;#endif我的问题是:我应该如何知道我的

c++ - 构建支持 OpenCL 的 OpenCV

在CMake中,我使用OpenCLEnableON构建了OpenCV(它自动检测到OPENCL_INCLUDE_DIR路径但是OPENCL_LIBRARY是空的,即使在点击配置之后也是如此。对于OPENCL_LIBRARY我也没有看到浏览按钮..在生成opencv二进制文件之后我运行下面的代码#include#include#include#include#include#includeintmain(){if(!cv::ocl::haveOpenCL())cout当我使用UMat来衡量性能时,使用(UMat)或不使用(Mat)OpenCL的性能没有任何区别。我从这个link下载了AM

c++ - 无法在 Ubuntu 上使用 CMake 构建 C++ 程序的断点

我正在尝试在Ubuntu上使用VSCode调试C++程序。我已经通过make成功地构建了项目。我使用bin/showdat命令从终端调用它并且它有效。在VSCode中,我安装了C++调试工具,而不是创建launch.json和tasks.json。下面附上这两个文件。现在我可以按F5成功启动这个程序并且运行良好。但是main函数第一行的断点没有命中。任何人都可以给我一些建议,我该如何解决这个问题?感谢您的时间。如果需要更多信息,请告诉我。launch.json文件内容{//UseIntelliSensetolearnaboutpossibleattributes.//Hovertovi