使用Cmake输出库信息
Using Cmake to output library informations
你好,我知道我可以使用cmake的GUI通过简单的命令输出库的信息:
FIND_PACKAGE( OpenCV REQUIRED )
MESSAGE("${OpenCV_DIR}")
MESSAGE("${OpenCV_LIBS}")
我想在dos命令提示符下使用这些命令。但我真的不知道如何在命令提示符下使用cmake工具。也许这里有人知道怎么做这样的事情。
编辑
好吧,你提出的解决方案是对的,但正如我所见,我没有很好地解释我想要什么。我真的很想在不使用CMakeLists.txt文件的情况下获得MESSAGE("${OpenCV_DIR}")的结果。
编辑2
好的,我已经找到了我现在搜索的内容!我想在windows上使用cmake进行pkg配置功能。Cmake提供了这个功能,这里展示了如何做到这一点:
http://blogs.kde.org/2011/11/09/cool-new-stuff-cmake-286-2-pkg-config-compatible-mode-added-use-eg-autotools
对于我的opencv搜索,我尝试了这个,它成功了:
cmake --find-package -DNAME=OpenCV -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=COMPILE
现在还不知道如何使用visualstudio更改gnu,但这是可以的。谢谢大家。
假设CMake已通过可在CMake.org网站上下载的安装文件正确安装,则包含cmake.exe
可执行文件的目录应位于PATH中。
因此,您可以执行以下操作(我假设DOS知识很少):
- 打开命令提示符
- 键入
cd C:thedirectorywheretobuild
(替换为构建目录所在的位置,我假设它就在CMakeLists.txt所在的目录下面) - 如有必要,可通过键入
C:
或D:
或项目所在的任何驱动器来更改当前驱动器 - 键入
cmake ..
,通过指定包含CMakeLists.txt文件的父目录的相对路径作为参数来调用cmake命令行可执行文件
您应该在命令提示符窗口中看到所有预期的输出。
CMake建议使用源代码外构建,这意味着,正如您在CMake GUI中看到的,源目录和构建目录应该而不是相同
这有两个好处:
- 您可以使用不同的构建配置(调试、发布、静态或动态链接等)将多个构建目录关联到一个源树
- CMake生成的文件不会意外添加到源代码控制系统中
在CMakeLists.txt所在的文件夹中启动cmake就足够了,如下所示:
cmake .
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- C++ 如何暂停控制台输出,以便用户可以在继续之前阅读信息
- 如何在编译过程中输出C 类型信息
- 类中的重载函数(Students())是输出输入的信息,但它不起作用
- 从类模块检索信息以在 switch 语句中输出时出现问题
- C++输出信息到新窗口
- C 调用从TXT文件输出信息的函数
- 我无法弄清楚如何将所有信息正确输出到文本文件
- 为什么我的输出没有显示"while"语句。while 语句用于显示所有信息
- 使用Cmake输出库信息
- 结构体的Hexdump未输出正确的信息
- 程序显示学生的详细信息,如名字父亲名字滚动没有CGPA输出
- 将2个结构数组中的信息输出到一个文件中
- 为类打印输出(打印调试信息)的最佳实践是什么?
- 创建一个简单的窗口来输出用于调试的信息(日志样式)- wxWidgets
- Visual Studio-如何将调试信息输出到调试窗口
- 从标准输出(c++)中获取信息
- 输出被调用的信号/插槽的跟踪信息
- 使用 MPI 时"Top"输出哪些信息
- 从显示输出中最后一行详细信息的文本文件中读取两次