有没有一种方法可以摆脱“不”这个词;新的Boost版本可能具有不正确或缺少的依赖项和导入的目标”;警告
我正在使用CMake和Boost。我使用的是Boost 1.68.0和CMake 3.11.0。我无法升级到较新版本的CMake,因为cotire阻止在CMake 3.12.0及更高版本上生成moc文件。但是,这会导致以下警告:有没有一种方法可以摆脱“不”这个词;新的Boost版本可能具有不正确或缺少的依赖项和导入的目标”;警告,boost,cmake,Boost,Cmake,我正在使用CMake和Boost。我使用的是Boost 1.68.0和CMake 3.11.0。我无法升级到较新版本的CMake,因为cotire阻止在CMake 3.12.0及更高版本上生成moc文件。但是,这会导致以下警告:新的Boost版本可能具有不正确或缺少的依赖项和导入的目标。一切正常,它可以找到正确的文件,但这个警告相当烦人。有没有办法在保留当前版本的Boost和CMake的同时禁用此警告?由于您安装了最新版本的Boost,如果我们转到引发此错误的行,我们会发现: if(NOT Bo
新的Boost版本可能具有不正确或缺少的依赖项和导入的目标。一切正常,它可以找到正确的文件,但这个警告相当烦人。有没有办法在保留当前版本的Boost和CMake的同时禁用此警告?由于您安装了最新版本的Boost,如果我们转到引发此错误的行,我们会发现:
if(NOT Boost_VERSION VERSION_LESS 107100)
message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
endif()
它不会改变任何东西,只需继续运行或降级您的boost安装。根据在CMake bug tracker中找到的这条说明,它应该可以添加无模块
或配置
或CMake_FIND_PACKAGE\u首选配置
,而不是查找_PACKAGE(boost)
调用以强制避免FindBoost模块文件
如果您的客户使用的是较新的CMake,并且保证使用的boost版本足够新,可以通过配置文件支持CMake查找,而不是通过CMake附带的FindBoost模块文件支持CMake查找,那么将其中一个关键字添加到find_包调用中可能是一个解决方案。CMake-DBoost\u NO\u WARN\u NEW\u VERSIONS=1
要消除警告,您需要检查\cmake\share\cmake-3.19\Modules中的FindBoost.cmake文件
打开命令提示符,将cd放入上述目录,然后通过键入以下内容打开FindBoost.cmake文件:
notepad FindBoost.cmake
在该文件中,您将发现一个带有上述警告的if-else语句。然后检查它,从中你可以找出哪个版本的boost不会给你警告,然后使用那个版本
希望这会有帮助 那么,如何消除这一警告呢?这并不能回答这个问题。一旦你有足够的钱,你将能够;相反-