gpt4 book ai didi

Cmake - Find_package NO_DEFAULT_PATH 无法正常工作?

转载 作者:行者123 更新时间:2023-12-05 06:39:58 28 4
gpt4 key购买 nike

我正在尝试将 OpenCv 包含在一个项目中,实际上我的计算机上有 2 倍于该库的相同版本。一种在/good/path 中使用额外的所需函数(Cuda 和 OpenGl 支持)编译,另一种在/old/non/suitable/path 中编译时没有这些所需的函数。

我目前正在我的 cmake 中执行此操作:

message(${OpenCV_LIBS})
message(${OpenCV_INCLUDE_DIRS})
message(${HINTS})
find_package( OpenCV 3.2.0 REQUIRED CONFIG PATHS "/good/path" NO_DEFAULT_PATH )
message(${OpenCV_INCLUDE_DIRS})

前 3 条消息报告错误,即变量为空。最后一条消息写着“/old/non/suitable/path/include”

根据find package documentation ,通过添加 NO_DEFAULT_PATH 选项,我应该只检查明确的 PATHS 和 HINTS,但 HINTS 在我检查时是空的。

有没有人知道为什么我找到了另一个旧库而不是/good/path 中的那个库,它再次应该是唯一检查的路径?

编辑:对于没有成功选择所需库的相同问题的任何人,一种解决方案是将旧库的 LibConfig.cmake 重命名为其他名称。这将迫使 cmake 找到最后一个库。尽管如此,这还是很糟糕,我不知道为什么 NO_DEAULF_PATH 不能正常工作。我在这里等了几天,以防有人看到答案,如果没有任何回应,我将直接在 cmake 网站上打开一个问题。

最佳答案

删除构建目录是可行的方法。

否则构建目录中的缓存路径会覆盖cmake中的路径修改。

Ps:答案在 Tsyvarev 评论中,我正在回答自己以结束问题。

关于Cmake - Find_package NO_DEFAULT_PATH 无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44001587/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com