标签: cmake-gui

CMake工作流程?

我正在学习CMake,我在理解其多步骤工作流程时遇到了问题.到目前为止,我的理解是你:

  • 写一个 CMakeLists.txt
  • cmake从子目录运行以生成构建文件(在我的情况下为Makefile)
  • make

但是,我不明白你应该如何处理不同的目标(Release vs Debug).通过在两个不同的子目录中运行CMake?

另外,我不明白你为什么要编辑CMakeCache.txt(还有一个GUI工具)../configure通过传递不同的选项来模仿你将要实现的目标?

cmake cmake-gui

6
推荐指数
1
解决办法
2044
查看次数

如何在Fedora 20中设置Qt5Config.cmake路径?

我已经安装了Qt5。在应用程序的生成文件上运行cmake时,出现以下错误。CMakeLists.txt:12(find_package)上的CMake错误:通过不在CMAKE_MODULE_PATH中提供“ FindQt5.cmake”,该项目要求CMake查找由“ Qt5”提供的软件包配置文件,但CMake找不到一个。

找不到“ Qt5”提供的具有以下任何名称的程序包配置文件:

Qt5Config.cmake
qt5-config.cmake
Run Code Online (Sandbox Code Playgroud)

将“ Qt5”的安装前缀添加到CMAKE_PREFIX_PATH或将“ Qt5_DIR”设置为包含上述文件之一的目录。如果“ Qt5”提供了单独的开发包或SDK,请确保已安装它。

我了解我需要指定一条路径。请问有1个命令可以帮助我准确地写出我需要写的内容以及需要在哪个文件中进行更改吗?我是新手,因此请详细回答,不要引用任何链接。我可以找到Qt5Config.cmake的位置。

提前致谢。

qt fedora cmake qt5 cmake-gui

5
推荐指数
0
解决办法
3193
查看次数

CMake 和 VisualStudio:在解决方案资源管理器中对文件进行分组

为了完成一个项目的长时间编码会话,我想测试我的 CPP 项目是否可以在操作系统的安排上编译。

我一直在Win10下工作。编译得很好。
我试过树莓派。编译得很好。我将我的项目的单独副本重新下载到 Win10 客户端,运行 cmake-gui,然后打开该项目:我在解决方案资源管理器中的文件夹结构全部消失了。

所以我开始挖掘,显然这个结构保存在 CMakeLists.txt 的命令中source_group。所以我开始在我的 cmake 列表中添加更多的 source_groupings,并且由于某种原因我的分组不会被接受。

例子:
source_group("game\\entitysystem" FILES ${entitysystem_SRC}) // Existing grouping source_group("game\\entitysystem\\components" FILES ${components_SRC}) // My new grouping

我的 glob 是这样的:

file(GLOB components_SRC "game/components/*.h" "game/components/*.cpp" )

file(GLOB entitysystem_SRC "game/entitysystem/*.h" "game/entitysystem/*.cpp" )

我确实相信我的 GLOB 是正确的,因为新的项目克隆编译得很好。只是 Visual Studio 的解决方案资源管理器中新结构的每个部分似乎都丢失了。是的,我已经清除了 Cmake 的缓存并重新生成了项目。不会改变它。

原始结构: 原始文件夹结构

克隆项目结构: 克隆的文件夹结构

编辑:

我确实在我的 source_group 中犯了一个错误,因为它不应该将组件放在实体系统下,但是,为什么在 Visual Studio 中没有创建任何过滤器?

c++ cmake visual-studio cmake-gui

5
推荐指数
1
解决办法
2858
查看次数

使用 CMake 时忽略外部模块中的警告

我在3.6.1 中使用CMake GUI(无版本)CMake。我正在使用一个外部模块,add_subdirectory它显示了一些我不喜欢的警告(因为烦人的污染):

CMake Warning (dev) at D:/Sources/.../external/g3log/latest/Build.cmake:11 (IF):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "MSVC" will no longer be dereferenced when the policy
  is set to NEW.  Since the policy is not set the OLD behavior will be used.
Call Stack (most …
Run Code Online (Sandbox Code Playgroud)

cmake suppress-warnings cmake-gui

5
推荐指数
1
解决办法
3462
查看次数

我如何告诉 CMake 在哪里可以找到 libusb?

我正在尝试构建logger1 ,它通过ElasticFusion从 Kinect 收集数据以进行离线 SLAM 。我正在 Windows 上构建。我正在尝试使用 VS10 构建 x64(我也有 VS12,但一些依赖项已预先配置到 VS10,因此为了简单起见,我正在使用它。)我正在使用 CMake 3.9.0。

我已经解决了大部分依赖关系,但 libusb 给我带来了麻烦。

我从 CMake 得到以下输出:

...
Checking for module 'libusb-1.0'
  No package 'libusb-1.0' found
CMake Error at C:/Program Files/CMake/share/cmake-3.9/Modules/FindPkgConfig.cmake:412 (message):
  A required package was not found
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.9/Modules/FindPkgConfig.cmake:588 (_pkg_check_modules_internal)
  CMakeLists.txt:12 (pkg_check_modules)
Run Code Online (Sandbox Code Playgroud)

通常,此时 CMake GUI 会以红色显示一些包含和库路径的新配置变量,以及一些非功能性默认值,例如ZLIB_INCLUDE_DIR-NOTFOUND我必须更改为实际路径并重新运行配置。

但是,在 的情况下libusb-1.0,GUI 中没有给我任何新的配置变量。我勾选了“高级”复选框,但所需的变量仍然没有显示。

我已经下载了一个预建的libusb-1.0.21,但是CMake不可避免地找不到它;这不是 *nix,其中库路径定义良好。我在文件服务器上有自己的目录结构来处理这些事情,所以 CMake 绝对无法找到东西,除非它询问我它们在哪里,但在本例中它没有这样做。

经过一番摸索,我在 Logger1's 中找到了一些参考资料CMakeLists.txt,如下:

find_package(PkgConfig)
pkg_check_modules(libusb-1.0 REQUIRED libusb-1.0) …
Run Code Online (Sandbox Code Playgroud)

cmake libusb cmake-gui

5
推荐指数
1
解决办法
6867
查看次数

使用 Cmake-gui 和 vcpkg

我正在为我的项目测试 vcpkg,但遇到了 cmake-gui 的问题

我已经安装了 vcpkg,在 vcpkg 的帮助下安装了 Boost 库。当我通过命令行编译时,一切正常。我使用命令

cmake .. -DCMAKE_TOOLCHAIN_FILE=D:/repos/vcpkg/scripts/buildsystems/vcpkg.cmake -G"Visual Studio 15 Win64"
Run Code Online (Sandbox Code Playgroud)

但问题是当我想使用 cmake-gui 生成构建文件时。它报告未找到 Boost。

我试着添加

set(CMAKE_TOOLCHAIN_FILE "D:/repos/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Path for vcpkg.cmake")
Run Code Online (Sandbox Code Playgroud)

到我的 Makefile 的顶部,但它没有帮助。我也尝试了 add_definitions 和 add_compile_options,但没有成功。

那么我应该在我的 cmake 文件中添加什么才能将 cmake-gui 与 vcpkg 一起使用?

c++ boost cmake cmake-gui vcpkg

5
推荐指数
1
解决办法
2011
查看次数

如何使用findpackage在cmake中添加dlib?

这是我的cmakelists.txt:

project( WolframMachine )                                    
cmake_minimum_required(VERSION 3.1)
set (CMAKE_CXX_STANDARD 11)
set(CMAKE_SUPPRESS_REGENERATION true)
include(ExternalProject)
set(Boost_INCLUDE_DIR "C:/boost_1_66_0")
set(Boost_LIBRARY_DIR "C:/boost_1_66_0/lib64-msvc-14.0")
SET("OpenCV_DIR" "C:/opencv-3.4.1/build")
SET(dlib_DIR "C:/dlib-19.13/")  # <============ DLIB
find_package( OpenCV COMPONENTS core imgproc highgui aruco optflow plot REQUIRED )
find_package(dlib REQUIRED)  # <============ DLIB
add_subdirectory(dlibtest)
Run Code Online (Sandbox Code Playgroud)

跑cmake-gui给了我以下内容:

在此输入图像描述

手动设置dlib_DIR没有帮助.我怎样才能解决这个问题?

UPD:尝试了其他dlib_DIR值但没有成功:

SET(dlib_DIR "C:/dlib-19.13/build/dlib/CMakeFiles/Export/lib/cmake/dlib")
Run Code Online (Sandbox Code Playgroud)

给出同样的错误:

在此输入图像描述

和设置

SET(dlib_DIR "C:/dlib-19.13/build/dlib/config")
Run Code Online (Sandbox Code Playgroud)

给出另一个无意义的错误:

在此输入图像描述

cmake cmake-gui dlib

5
推荐指数
1
解决办法
1298
查看次数

找不到 Glog(缺少:GLOG_INCLUDE_DIR GLOG_LIBRARY)

我尝试使用 CMAKE 在 Ubuntu 20.04 中安装 openpose,但出现以下错误:

Could NOT find Glog (missing: GLOG_INCLUDE_DIR GLOG_LIBRARY) 
Run Code Online (Sandbox Code Playgroud)

我按照此处的说明进行操作(不幸的是,屏幕截图不可用,但我只是按照文本命令进行操作): https ://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation/README .md

buildopenpose文件夹中创建了一个文件夹,然后运行cmake-gui ..命令。

GUI 将打开并检查所有这些(我不更改任何内容): 在此输入图像描述

错误是:

GCC detected, adding compile flags
GCC detected, adding compile flags
Building with CUDA.
CUDA detected: 10.1
Added CUDA NVCC flags for: sm_75
cuDNN not found
Found gflags  (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libgflags.so)
Could NOT find Glog (missing: GLOG_INCLUDE_DIR GLOG_LIBRARY) 
CMake Warning at /usr/share/cmake-3.16/Modules/FindProtobuf.cmake:499 (message):
  Protobuf compiler version 3.13.0 doesn't match library version …
Run Code Online (Sandbox Code Playgroud)

c++ cmake glog cmake-gui

5
推荐指数
1
解决办法
1万
查看次数

创建一个新的 cmake 输入变量

是否可以创建一个新的 cmake 变量?当我通过 gui 运行 cmake 时

ccmake 。

一组变量出现在屏幕上。我想要一个额外的变量,它可以有三个字符串值,根据这些字符串,我可以修改我的构建选项

build cmake cmake-gui

4
推荐指数
1
解决办法
1391
查看次数

cmake-gui 尝试打开但未显示 UI

我尝试使用 Windows 中的最新版本卸载并重新安装 CMake。当我启动 cmake-gui.exe 时,该进程已启动,似乎一切正常,但未显示 UI。任务栏中的预览仅显示空白屏幕,但无法显示任何内容。

在此处输入图片说明

我也尝试以管理员身份运行,同样的问题。任何的想法?我还检查了指向 CMake 缓存文件的 regedit 变量,但找不到相关的内容......

任何想法都会有所帮助。

提前致谢!

拉克

windows compilation cmake cmake-gui

4
推荐指数
1
解决办法
804
查看次数

标签 统计

cmake ×10

cmake-gui ×10

c++ ×3

boost ×1

build ×1

compilation ×1

dlib ×1

fedora ×1

glog ×1

libusb ×1

qt ×1

qt5 ×1

suppress-warnings ×1

vcpkg ×1

visual-studio ×1

windows ×1