我使用CMake几次使用在线提供的教程生成了OpenCV库,尽管没有完全理解这个过程。这是我遵循的流程
.sln
个文件。我打开文件OpenCV.sln
并为调试和发布配置运行项目ALL_BUILD
。bin
包含用于发布和调试版本的库(.lib
和.dll
。INSTALL
的项目(在同一个解决方案中)。我注意到它创建了另一个文件夹,其中包含的库文件几乎与OpenCV包附带的预构建库一样。有趣的是,如果我链接到install
文件夹或bin
/ lib
文件夹中的库,我在MSVC或Qt中的程序同样有效。我的问题是
install
解决方案的功能是什么?install
解决方案生成的库与bin
和lib
文件夹中的库有何不同?install
解决方案时未构建ALL_BUILD
解决方案答案 0 :(得分:3)
- 醇>
install
解决方案的功能是什么?
它将构建输出打包/收集到一组可移植的库和标题中,您知道它们可以在您的电脑或其他机器中移动。
- 醇>
install
解决方案生成的库与bin
和lib
文件夹中的库有何不同?
他们不是。您可能已经构建了第一个共享,然后(通过使用cmake重新配置)静态库,但是目标安装只安装了您当前选择的那个(在您的cmake-gui中?)
- 为什么在构建
醇>install
解决方案时未构建ALL_BUILD
解决方案
install
是cmake的特殊目标。实际上,默认情况下install
触发all
并且仅在all
成功终止时才实际执行,但反之亦然。