编译后在OpenCV中包含其他库

时间:2014-03-09 13:27:05

标签: c++ opencv compilation

当手动编译OpenCV库时,必须通过在CMake中指定要包含的所有内容来选择他/她想要包含的内容。例如,如果我想包含一个额外的库(例如CUDA支持),我可以单独编译它还是必须重新编译整个库?如果前者是答案,我该怎么做?

1 个答案:

答案 0 :(得分:1)

让我们以CUDA为例。库的一些dll和lib文件对CUDA有一些依赖,有些则不然。当您使用Cmake配置和生成make文件时,它会使用您提供的配置创建此文件,打开或关闭CUDA。所以,但稍后您想要更改此配置并重新编译它。这就是制作的目的。当你想改变库中的东西而不想从beginnig编译它时。

因此,您应该再次使用Cmake来生成具有新配置的新make文件。您应该使用第一个编译的相同文件夹来减少所需的编译时间。因此,当您更改配置并生成新的make文件时,它可能比编译所有库的编译时间更短,因为并非每个库都具有新配置的依赖项。

这里有一个重要的问题。 CUDA是一个高度依赖的库。当我检查源代码时,有一些定义指示cuda是打开还是关闭。因此,在这种情况下,CUDA配置的变化会影响很多。如果您不仅要求我为CUDA进行所有其他配置更改,请使用新的新文件夹进行新配置和编译。因为当您遇到问题时,您至少可以确定没有编译问题。