问题标签 [cmake-gui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 为多个子目录创建一个 CmakeList.txt 文件,每个子目录包含自己的 src(.cpp 文件) 和 include(.h 文件)
如何编写一个 Cmake 文件来编译我所有的子目录,每个子目录都有自己的可执行文件?
c++ - 在 Windows 上构建 OpenImage IO
我想使用 cmake 在 Windows 上构建 OpenImageIO,但遇到以下问题:cmake 停止项目生成过程,因为它找不到 OpenImageIO 所需的第三方库。
这是我所做的(我遵循了在 Windows 上构建 OIIO 的官方指南):
- 从他们的 github repo 下载了当前的 OpenImageIO 发布分支。并将其复制到 D:/libraries/oiio
- 把预编译好的外部库下载 下来放到D:/libraries/oiio/external
- 已下载 Windows 的 Qt4 二进制文件。将它们放入 D:/qt 并将路径 D:/libraries/qt/bin 添加到我的 PATH 中。
- 下载的预编译 BOOST 库(1.60 版)它们位于 D:/libraries/BOOST。
- 安装 cmake 并运行 cmake-gui:
- 将源路径设置为包含 CMake 的 OIIO 根目录
- 设置输出路径为 D:/oiio/
- 添加了指向 D:/libraries/oiio/external/windows/dist 的 THIRD_PARTY_TOOLS_HOME
- 添加 BOOST_ROOT 并使其指向 D:/libraries/BOOST
- 设置 USE_PYTHON = 0 和 USE_TBB = 0
所以基本上从我的角度来看,我做了安装说明告诉我要做的一切。但是当我点击“配置”时,我得到以下输出形式 cmake-gui :
我已经尝试了很多东西,包括手动设置 ZLIB_LIBRARY 和 ZLIB_INCLUDE_DIR 但随后它抱怨找不到上述任何一个或抱怨找不到下一个第三方库。
我还尝试将 CMAKE_PREFIX_PATH 添加到 cmake-gui 并将其设置为它无法找到的路径,但它没有任何帮助。
然后我尝试只使用反斜杠,因为我读到了一些关于这可能是一个问题但它也没有帮助的东西。
我正在使用带有 cmake 3.5.2 的 Windows 7 64 位机器
我真的很感激任何帮助,因为到目前为止我不知道我能做什么。
提前致谢 !
opencv - 如何使用非自由模块安装 OpenCV 3.1?
我正在尝试编写一个使用 SURF 算法的程序,并且我知道必须单独安装非自由模块。我已经下载并安装了最新版本的 CMake(3.5.2),并按照以下说明进行操作: https ://github.com/itseez/opencv_contrib/ 。我正在使用 GUI,并在 64 位 Windows 10 上运行 Visual Studio 2015。
因为我知道对于 SURF,当它询问我代码的来源时,您必须包含 xfeatures2d,我只指定了 xfeatures2d 文件夹。当我第一次按下配置按钮时,我遇到了一些错误(我附上了它们的图像)。我设法摆脱了一个错误,即在文件顶部写一行代码的
cmake_minimum_required(VERSION 3.5)
错误,但我仍然有一个错误:
CMake Error at CMakeLists.txt:4 (ocv_define_module):
Unknown CMake command "ocv_define_module".
我还附上了一张 CMakeLists.txt 的图片。请帮我找出问题所在。
另外,如果您能帮助我一次安装所有模块,我将不胜感激。还是我必须将模块文件夹中的每个文件夹都设置为输入?
cmake - 如何在 CMake 缓存变量中保留单引号?
我有一个变量
它必须包含一个表达式列表,例如:'tests/*' '/usr/*'
当尝试将默认值设置为上述表达式时,单引号将被删除。
如何保存它们?
此外,当我尝试像这样通过排除列表时
初始单引号和最终单引号丢失。如何保存它们?
最后,使用 cmake-gui 时同样的问题也适用。
编辑:我尝试使用反斜杠来转义引号:
它给了我以下错误:
EDIT2:add_custom_target 的代码(而不是 add_custom_command,我的错)
c++ - CMake“make install”或在windows中包含一个库
我正在尝试创建一个开源 C++ 项目。我希望它尽可能容易构建,但同时也是跨平台的。我不需要 gui 或像 boost 或 Qt 这样的重型库,所以我决定使用 GitHub、CMake 和 LibSourcey。我的问题是,我找不到使我的项目易于在 windows 中构建的方法,这是我的开发环境。如何在 Windows 中“安装”一个库以在我的项目中使用?我什至必须在Windows中安装它吗?是否可以自动下载、构建和链接它?
在 Windows 上,除了安装程序,我还想制作一个便携版本,所以不想要任何硬编码的库路径。
我假设,在某些平台上,比如 Linux,库是由维护者单独构建和打包的。所以我不应该只是捆绑我自己的副本。
所以,我的问题是:如何建立一个跨平台且易于构建的项目,最佳实践是什么?
visual-studio - CMake 与 VIsual Studio 2015 和 Clang
我是 CMake 的初学者,最近刚刚将我当前的项目从 Visual Studio 2015 解决方案迁移到 CMake 项目。我花了几天时间,但现在我的项目已完全迁移,生成的 Visual Studio 解决方案的外观和感觉与原始解决方案完全相同。使用 MSVC 和平台工具集 v140 时,我仍然可以很好地构建我的项目。现在,在这一切之后,我想通过使用不同的编译器构建我的项目来尝试 CMake 的好处。特别是我的项目中有一些模板相关的代码我认为不是很符合标准,所以我想用 Clang 构建它,我知道在模板相关的东西上它比 MSVC 更严格。为此,我启动 CMake GUI,选择源代码和二进制路径,单击配置,选择“Visual Studio 14 2015”并输入“
不幸的是,这样做时,CMake 无法配置(和生成)我的解决方案,并出现以下错误:
现在我不知道这个错误的含义是什么或可能导致它的原因是什么,除了 CMake 显然试图编译一个失败的测试程序这一事实。错误日志中的“Xamarin”内容感觉特别不合适。我已经尝试了一些方法来解决这个问题。最初,我在 Visual Studio 2015 Update 1 上,实际上遇到了一个不同的错误(我不记得了,因为我没有记录它)。经过一些谷歌研究,我决定安装 VS2015 的更新 2,希望它能解决问题,但它只会导致不同的错误,这就是你在上面看到的错误。
只是出于好奇,我还使用了我原来的 VS 解决方案,并尝试在其中将平台工具集设置为 Clang。它仍然没有编译,但至少它给了我一个合理的错误消息,这对我来说实际上是有意义的(提到解决方案的“警告级别”属性有一个它没有预料到的值)。但是,有了这个错误日志,我什至不知道从哪里开始寻找问题的根源。
现在我可以在这里分享我的 CMake 代码,但我不确定这是否会有所帮助。项目代码在多个文件之间拆分,因此共享它有点复杂,我也不确定是否可以首先通过 CMake 文件找到问题的原因。我实际上假设问题的原因可能与项目代码本身无关。我尝试在谷歌上搜索有关此错误的信息,但不幸的是,我得到的所有内容都大约有五次点击,所有这些都只包含上面的错误日志,没有解决问题的方法。我不确定从哪里开始寻找。任何人都有这方面的经验,可以引导我走向正确的方向吗?如果您有任何想法或期望看到我的任何代码有助于找到错误原因,请告诉我。
c++ - Cmake 无法找到 Boost 库 (Windows)
我目前正在尝试使用 CMake 和 Boost (C++) 在 Windows 上构建 Apache qpid 消息传递代理。我按照此文件中的规定完成了在 Windows 上设置 Qpid 的初始步骤。我最初将变量设置BOOST_ROOT
为“C:/< Home >/Downloads/boost_1_61_0”,以便 CMake 可以找到 Boost 库(例如随机、数学、计时等),但我得到这个日志说它只能找到一些图书馆,但不是其他图书馆。我认为文件路径可能需要包含 Boost 库实际所在的目录(即 C:/< Home >/Downloads/boost_1_61_0/boost),但BOOST_ROOT
尽管删除并创建了另一个环境变量,但我无法重置环境变量。
有人建议我在这个论坛上使用 GUI 删除 CMake 的缓存文件,以便我可以重置变量,但这似乎也不起作用。
我是否使用正确的文件路径BOOST_ROOT
?如果不是,我应该如何改变它?
vtk - 配置过程出错,项目文件可能无效
我是 CMake 的新手。我从链接http://www.vtk.org/Wiki/VTK/Examples/Cxx/IO/SimplePointsReader复制了一个小的 vtk 示例, 并使用 CMake 进行编译。它给了我一个错误,“配置过程出错,项目文件可能无效”。
它向我显示了错误,
CMakeLists.txt:5 (find_package) 处的 CMake 错误:通过在 CMAKE_MODULE_PATH 中未提供“FindVTK.cmake”,该项目已要求 CMake 查找“VTK”提供的包配置文件,但 CMake 没有找到。
找不到由“VTK”提供的具有以下任何名称的软件包配置文件:
将“VTK”的安装前缀添加到 CMAKE_PREFIX_PATH 或将“VTK_DIR”设置为包含上述文件之一的目录。如果“VTK”提供单独的开发包或SDK,请确保已安装。
我已经在我的电脑上安装了 vtk,请帮我解决这个问题。
CMakeLists.txt 包含以下代码
c++ - 在 Windows 中链接第三方预编译的动态和静态库
最近,我一直在使用 cmake 作为我的项目的生成器。我已经成功生成了许多 vtk 和其他应用程序项目。但是,我现在在尝试链接动态和静态预编译库时遇到了问题。特别是,我获得了一些动态预编译的第三方 dll 以及它们各自的 .lib 文件。此外,我正在尝试将一些静态预编译库(仅 .lib 文件)链接到我的项目,以便检查软件许可证。
假设我的项目名为 test_example,并且在 libs 目录中有一些预编译的动态库。我的项目目录的结构是:
Test_example
-/include
-/libs
-/build
-CMakeLists.txt
用于链接动态库的 CMakeLists.txt 内容如下:
当我使用这个 cmake 列表生成项目时,我可以成功地使用预编译的 dll 中的方法。但是,我也没有找到一种方法来链接我的静态库。假设我有一个名为 test_licence.lib 的静态库。我是否也应该将它放在 libs 文件夹中,并像使用动态一样简单地引用它?当我这样做并在 Visual Studio 中打开我的项目解决方案时,我可以看到动态和静态库都已添加到 Linker-->Input-->Additional DEpendencies。但是,当我尝试构建项目时,我有未解决的外部依赖项,它们是来自静态库的方法。
你们有谁知道实现这一目标的最有效方法是什么?提前谢谢了!
c++ - 编译 Ryzom 时出现 Cmake 错误 libwww
当我尝试在 cmake 中配置时出现这些错误:
找不到 Libwww(缺少:LIBWWW_LIBRARIES LIBWWW_INCLUDE_DIR)
但我在谷歌找不到任何答案,我试图下载“w3-libwww”,但我不知道如何将它包含在项目中。
我正在关注本教程: https ://ryzomcore.atlassian.net/wiki/display/RC/Build+Source+on+Windows
我下载并安装了所有 SDK 和先决条件,并尝试为 Visual Studio C++ 10 (2010) 生成