草庐IT

CMAKE_EXPORT_COMPILE_COMMANDS

全部标签

c++ - 自 Mojave 以来,链接在 Homebrew 软件的 cmake 中不起作用

我现在已经在两台计算机上重现了这个症状,cmake似乎不再在/usr/local/lib中查找(或者更准确地说,$(brew--prefix)/lib)用于Homebrew提供的库,因为我的机器升级到macOSMojave。尽管有一些方法可以避免这种情况(例如,使用EXECUTE_PROCESS搜索Homebrew程序前缀;将结果添加到LINK_LIBRARIES(...)命令),但没有一个是理想的。Mojave中发生了什么改变来打破这种行为?临时解决方法是将以下内容添加到CMakeLists.txt:#WARNING:Don'thard-codethispathLINK_DIRECT

c++ - CMake 在使用 android-cmake 工具链文件时找不到 Boost 库

我正在尝试为使用Boost库的代码创建一个CMake项目。我想为Android构建它,我正在使用这个项目作为引用:https://code.google.com/p/android-cmake/.我想使用我之前为android构建的Boost静态库,而不是将它们作为要编译的项目的一部分。这是我使用Boost的项目部分的CMakeLists.txt#BOOSTset(BOOST_ROOT/home/neb/workspace/SDLActivityCMAKE/jni/boost)set(Boost_INCLUDE_DIR/home/neb/workspace/SDLActivityCMA

c++ - CMake:使用静态库在一个项目中构建多个可执行文件

我正在从事一个项目,该项目包含3个服务器可执行文件和一个用于共享代码的库。我希望它是跨平台的,所以我使用CMake(因为Xcode无论如何都很痛苦)来处理构建过程。我在设置CMakeLists时遇到问题,以便在构建可执行文件时可以从同一级别的目录中包含库。这是目录结构(和CMake文件):tethealla2.0/CMakeLists.txtlibtethealla/CMakeLists.txtencryption/utils/patch_server/CMakeLists.txtlogin_server/CMakeLists.txtship_server/CMakeLists.txt

c++ - CMake 似乎忽略了 CMAKE_OSX_DEPLOYMENT_TARGET

我在OSX10.10.5上使用CMake3.3.2和Xcode7.1。我有一个使用CMake的小型C++项目。我希望它在OSX10.9或更高版本上运行。所以我修改了我的CMakeLists.txt来开始这个:cmake_minimum_required(VERSION3.3)set(CMAKE_OSX_DEPLOYMENT_TARGET"10.9")project(...然后我像这样创建Xcode项目:cmake-GXcode但是,生成的xcodeproj包似乎没有设置部署目标。当我在文本编辑器中打开包含的project.pbxproj文件时,没有提到MACOSX_DEPLOYMENT

c++ - D8048 : cannot compile C file 'openssl\applink.c' with/ZW option

我正在尝试在我的Metro应用程序中使用OpenSSL。我创建了一个C++WinRTComponent并且在该组件下有openssl文件但是,当我尝试编译项目时,出现以下错误:D8048:无法使用/ZW选项编译C文件“openssl\applink.c”任何人都可以告诉我应该如何解决这个问题才能让我的项目编译?如果您需要任何其他信息来帮助我,请告诉我。谢谢, 最佳答案 错误消息正是它所说的-VC++不支持C++/CX扩展-使用/ZW编译器开关启用-在编译为C的文件中(这有点道理,因为这些扩展是面向对象的)。您看到这个的原因是,默认情

c++ - CMake:编译 OpenCV 时找不到 CUDA 库

我正在使用CMAKE在Windows上编译支持CUDA的OpenCV3.0.0。当我点击“配置”时,出现如下错误:CMakeError:Thefollowingvariablesareusedinthisproject,buttheyaresettoNOTFOUND.PleasesetthemormakesuretheyaresetandtestedcorrectlyintheCMakefiles:CUDA_cufft_LIBRARY(ADVANCED)linkedbytarget"opencv_hal"indirectoryE:/dev-lib/opencv3/sources/mod

c++ - CMake - 自动解析预编译头的依赖关系?

到目前为止,至少据我所知,在CMake中没有标准的方法来指定以跨平台的方式向项目添加预编译头(PCH),因为C++编译器处理PCH的方式是供应商之间差异很大。对于G++,这通常是通过简单地添加一个自定义命令来解决的,该命令负责使用适当的输入调用编译器并让它生成PCH。我现在的问题是CMake不会解析你为自定义命令指定的依赖项的依赖项。例如,假定以下结构:pch.h|-dependA.h|-dependB.h...仅提供pch.h作为依赖项将导致在相应的makefile中生成适当的目标,它跟踪对pch.h。但是,CMake不解析insidepch.h的包含,因此不会识别对dependA.

c++ - 如何使用 CMake 测试 C++ 应用程序没有内存错误?

我在CMake中有一个C++项目,我已经实现了单元测试(使用GoogleTest)以及集成测试,即执行应用程序并使用正则表达式检查结果,例如add_test(NAMEMyAppIntegration.testRefitRunMseCOMMANDmy_application"--refit=true")set_tests_properties(MyAppIntegration.testRefitRunMsePROPERTIESPASS_REGULAR_EXPRESSION"mse\\=1\\.53611e\\-05")现在我想做与上面相同的事情,但运行应用程序来检测内存错误,例如只需运行

c++ - Visual Studio 2015 (C++) : Stop compile on first build error (not first project)

VisualStudio2015检测到编译错误时如何停止编译?我的意思是第一次构建错误(可能是第一个.cpp),而不是第一个项目,因为它需要太多时间。(我只有1个项目。)名为"StopOnFirstBuildError"的扩展不是答案,因为它停止在有错误的第一个项目。问题(更详细)当我按下F5或Ctrl+Shift+B时,编译器会编译所有(或部分)文件。在我的例子中,它可以只用5秒检测到一些错误,所以我希望它现在停止编译。但是,VS2015变得无响应。对Ctrl+Break也有很强的抵抗力。我大约需要30秒才能导航到错误位置。如何在出现第一个编译错误时自动停止编译过程?历史有anold

c++ - 如何为 C++ Bazel 项目生成 compile_commands.json

在C++中Bazel项目,我想使用像ClangTools这样的工具或RTags等为此我需要生成一个compile_commands.json文件。使用CMAKE_EXPORT_COMPILE_COMMANDS的CMake解决方案很简单.对于简单的Makefile,您仍然可以使用Bear工具。但是据我所知,没有针对C++Bazel项目的内置解决方案。 最佳答案 额外信息:Bear目前没有使用Bazel:thisissue可以找到有关compile_command.json的良好文档here.建议的解决方案:谷歌搜索后我找到了gist: