草庐IT

cmake-custom-command

全部标签

c++ - 如何使用 include-what-you-use 工具与 CMake 一起检测未使用的 header ?

工具include-what-you-use可用于检测不需要的header。我正在使用CMake对于我的C++软件项目。如何指示CMake在我的软件项目的源文件中自动运行include-what-you-use? 最佳答案 CMake3.3引入了新的目标属性CXX_INCLUDE_WHAT_YOU_USE可以设置为程序的路径include-what-you-use.例如这个CMakeLists.txtcmake_minimum_required(VERSION3.3FATAL_ERROR)add_executable(helloma

c++ - 使用 cmake 处理头文件依赖项

我在一个小型C++项目上使用CMake,到目前为止它运行良好...有一个转折:x当我更改头文件时,通常需要重新编译许多源文件(直接或间接包含它的源文件),但是cmake似乎只检测到一些源文件以被重新编译,导致损坏状态。我可以通过清除项目并从头开始重建来解决这个问题,但这绕过了使用make实用程序的目标:只重新编译需要的东西。因此,我想我做错了什么。我的项目组织得非常简单:所有资源所在的顶级目录,主CMakeLists.txt就在那里所有公共(public)header所在的“包含”目录(在各种子目录中)源文件的所有子目录都在其中的“src”目录,srcCMakeLists.txt就在那

android - android studio 项目中 CMake 和 NDK-build 的区别

CMake和NDK在androidstudio项目中构建的实际区别是什么。我已经浏览了谷歌文档,但这个概念还不清楚。根据谷歌文档:Android原生开发工具包(NDK):一个工具集,可让您在Android中使用C和C++代码,并提供平台库允许您管理nativeActivity并访问物理设备组件,例如传感器和触摸输入。CMake:与Gradle一起构建的外部构建工具你的原生库。如果您只计划,则不需要此组件使用ndk-build。当我们需要使用什么时,任何人都可以通过示例更好地解释吗? 最佳答案 在这里澄清一些混淆:ndk-build是

node_modules\node-sass: Command failed.错误解决

node_modules\node-sass:Commandfailed.错误解决错误信息如下:gypverbcheckpythoncheckingforPythonexecutable"python2"inthePATHgypverb`which`failedError:notfound:python2gypverb`which`failedatgetNotFoundError(C:\ProgramFiles(x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\whic

c++ - cmake - find_library - 自定义库位置

我目前正在尝试让CMake为我的项目运行(在Windows上)。我想使用安装所有库的自定义位置。为了让CMake知道这条路径,我尝试这样做:set(CMAKE_PREFIX_PATHD:/develop/cmake/libs)但是当我试图找到图书馆时find_library(CURL_LIBRARYNAMEScurlcurlliblibcurl_impcurllib_static)CMake找不到它。当我将前缀路径设置为set(CMAKE_PREFIX_PATHD:/develop/cmake/libs/curl)...图书馆位于。所以我的问题是:如何正确配置CMake以在自定义位置使

c++ - CMake 中的 set_target_properties 是否覆盖 CMAKE_CXX_FLAGS?

在我的CMake项目开始时,我在变量CMAKE_CXX_FLAGS中设置通用编译标志,例如set(CMAKE_CXX_FLAGS"-W-Wall${CMAKE_CXX_FLAGS}")稍后,我需要附加其他特定于配置的编译标志(存储在BUILD_FLAGS中)。我可以为此使用以下命令吗:set_target_properties(${TARGET}PROPERTIESCOMPILE_FLAGS${BUILD_FLAGS})还是我必须手动添加CMAKE_CXX_FLAGS:set_target_properties(${TARGET}PROPERTIESCOMPILE_FLAGS"${CM

c++ - CMake 无法使用 C++ 确定链接器语言

我正在尝试使用VisualStudio2010和Cygwin在Windows7x64上运行cmakehelloworld程序,但似乎两者都无法工作。我的目录结构如下:HelloWorld--CMakeLists.txt--src/----CMakeLists.txt----main.cpp--build/我做了一个cdbuild后跟一个cmake..,然后得到一个错误说明CMakeError:CMakecannotdeterminelinkerlanguagefortarget:helloworldCMakeError:Cannotdeterminelinklanguagefortar

mongodb - 错误 : couldn't add user: not authorized on test to execute command { createUser:

我从MongoDB开始,我想通过用户/传递对dbs的访问。我做的第一件事是创建和管理用户并使用authactivate启动mongodb,这是我创建的用户:db.getUser("admin"){"_id":"admin.admin","user":"admin","db":"admin","roles":[{"role":"dbAdminAnyDatabase","db":"admin"},{"role":"clusterAdmin","db":"admin"}]}}之后,我尝试使用以下命令创建用户:usenewdbdb.createUser({user:"newuser",pwd:

mongodb - 错误 : couldn't add user: not authorized on test to execute command { createUser:

我从MongoDB开始,我想通过用户/传递对dbs的访问。我做的第一件事是创建和管理用户并使用authactivate启动mongodb,这是我创建的用户:db.getUser("admin"){"_id":"admin.admin","user":"admin","db":"admin","roles":[{"role":"dbAdminAnyDatabase","db":"admin"},{"role":"clusterAdmin","db":"admin"}]}}之后,我尝试使用以下命令创建用户:usenewdbdb.createUser({user:"newuser",pwd:

macos - 安装 go-eval 后出现错误 "command not found"

我正在尝试以交互模式运行Go。我想使用go-eval为此,我遵循了他们的README说明:我成功运行了gogetgithub.com/sbinet/go-eval/我运行go-eval导致-bash:go-eval:commandnotfound更多信息:echo$PATH返回:/usr/local/go/bin:...echo$GOPATH返回:$HOME/golang运行whereisgo-eval不返回任何输出运行goinstallgo-eval返回:无法加载包:包go-eval:在以下任何一个中都找不到包“go-eval”:/usr/local/go/src/go-eval(来