我需要在 VS2015 中为 32 位和 64 位构建 OpenCV。
我知道我需要为每个生成器创建一个单独的构建树。
OpenCV 的 CMake 配置有大约 300 个用户可配置的变量,我终于得到了令我满意的设置。现在我想使用完全相同的一组决策来构建 64 位版本。
有没有办法将代表我的决定的变量值转移到新的构建树中? (除了并排打开两个 CMake-GUI 并检查所有 ~300 个值是否对应。)
顺便说一句,如果更改了生成器,则必须删除 CMakeCache.txt,根据 CMake 邮件列表 [ http://cmake.3232098.n2.nabble.com/Changing-the-the-current-generator-in-CMake-GUI-td7587876.html ].手动编辑它非常危险,可能会导致未定义的行为。
谢谢
最佳答案
将我的评论变成答案
您可以在新目录中使用部分 CMakeCache.txt
(CMake 只会预加载那里的值并重新评估其余值)。
所以你可以使用类似 grep 的方法来做
findstr "OpenCV_" CMakeCache.txt > \My\New\Path\CMakeCache.txt
刚刚测试过,似乎按预期工作。
引用
关于opencv - 如何使用新的生成器重用现有的 CMake 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43083194/