QTCreator和CMake似乎有一些奇怪的行为。
我正在构建一个opencv应用程序,并使用完全相同的文件和系统,当我使用CMake进行构建时,由于找不到特定的定义,它会遇到链接器错误。它可以从终端完美运行。
我还应该补充一点,我安装了两个版本的OpenCV库。一个是使用程序包管理器安装的(标题位于/usr/include
中,另一个是本地构建的(标题位于/usr/local/include
中)。它们是不同的版本,并且在功能定义上有所差异,其中之一就是导致上述问题的原因。
现在,在我输入一些语句来查看包含路径是什么之后,从QTCreator运行CMake使用/usr/include
,而从命令行运行cmake使用/usr/local/include
。
我能够通过使用最小版本(usr/local
比usr/
更高的版本)来解决此问题,但是我对于为什么反向搜索路径感到非常好奇。是我做的吗?一些环境变量?