我正在尝试使用CMake来编译opencv。
我正在阅读教程,但无法理解什么是CMakeLists文件以及如何将其连接到CMake的GUI?
也无法理解什么是makefile,它们与CMakeLists一样吗?
最终我通过visual-studio打开哪个文件?
我正在尝试使用CMake来编译opencv。
我正在阅读教程,但无法理解什么是CMakeLists文件以及如何将其连接到CMake的GUI?
也无法理解什么是makefile,它们与CMakeLists一样吗?
最终我通过visual-studio打开哪个文件?
Answers:
CMake获取一个CMakeList文件,并将其输出为特定于平台的构建格式,例如Makefile,Visual Studio等。
您首先在CMakeList上运行CMake。如果您使用的是Visual Studio,则可以加载输出项目/解决方案。
我不了解Windows(从未使用过),但是在Linux系统上,您只需要创建一个构建目录(在顶级源目录中)
mkdir build-dir
进去里面
cd build-dir
然后运行cmake
并指向父目录
cmake ..
最后跑 make
make
请注意,make
和cmake
是不同的程序。cmake
是一个Makefile
生成器,该make
实用程序由Makefile
文本文件控制。参见 cmake并制作 Wikipedia页面。
注意:在Windows上,cmake
可能会运行,因此可能需要不同地使用。您需要阅读文档(就像我在Linux上所做的一样)
PATH
变量是否正确。顺便说一句,我一生中从未使用过Windows(并于1974年编写了我的第一个程序)
是的,cmake和make是不同的程序。cmake
是(在Linux上)Makefile生成器(Makefile -s是驱动该make
实用程序的文件)。还有其他Makefile生成器(尤其是configure和autoconf等...)。您还可以找到其他构建自动化程序(例如ninja)。
windows
标签)