草庐IT

CMAKE_EXPORT_COMPILE_COMMANDS

全部标签

c++ - 使用 CMake 包含共享库 (.so)

我一直在尝试使用CMake包含不同类型的库。.a.dylib.so我终于得到了.a和.dylib来处理这段代码。find_library(libnameNAMESlibcef.dylibPATHS${libname_PATH})除此之外,我还在下面add_executable为构建初始化我的所有文件。target_link_libraries(${PROJECT_NAME}${libname})但是,我尝试在.so文件中使用相同的代码,但它似乎不起作用。当我尝试构建时,我从cmake得到了这个声明。Target"projectname"linkstoitem--pathoffile--

c++ - Qt WEBKIT 与 CMake

当我在项目文件中包含QT+=webkit并使用qmake时,QWevView示例效果很好并且符合预期。尝试将“set(QT_USE_QTWEBKITTRUE)”添加到我的CMakeList.txt时,我遇到了问题:“找不到QtQTXMLPATTERNS库。”我尝试添加set(QT_USE_QTXMLPATTERNSTRUE)来解决这个问题,但没有任何改变。由于qmake版本有效而​​cmake版本无效,因此模块必须可用才能加载。关于解决此问题的解决方案或故障排除步骤的任何提示? 最佳答案 我相信我的变通方法是目前解决此问题的唯一方法

c++ - Python C++ 扩展 : compile only modified source files

我正在开发一个包含C++扩展的python包。当我使用setup.py脚本或使用pip安装包时,C++源文件都被编译和链接以获得单个.so库,然后可以将其导入Python源代码中。在开发过程中,我需要对源代码进行多次更改(测试、调试等)。我发现重新安装包涉及重建所有C++源文件,即使只更改了一个文件的一小部分。显然,这会占用相当多的时间。我知道放置源文件链接的开发模式(pythonsetup.pydevelop或pipinstall-e),以便在重新导入模块时立即看到所做的更改。但是,这仅适用于.py源文件而不适用于C++扩展,每次更改后都必须重新编译。有没有办法让setup.py查看

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++ - 无法在 Ubuntu 上使用 CMake 构建 C++ 程序的断点

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

c++ - 如何使用 CMAKE 为交叉编译配置设置特定的 CMAKE_C_OUTPUT_EXTENSION?

我正在尝试设置一个工具链文件,以便与CMake3.12.0版本进行交叉编译。我的对象文件的扩展名与Windows上的.obj和UNIX上的.o不同。因此,我将我的CMAKE_LANG_OUTPUT_EXTENSION设置为.src。不幸的是,此变量被CMakeCInformation.cmake文件中的这些行覆盖:#somecompilersusedifferentextensions(e.g.sdccuses.rel)#sosettheextensionherefirstsoitcanbeoverriddenbythecompilerspecificfileif(UNIX)set(C