c – 为什么用项目编译gtest而不是使用lib
发布时间:2020-12-16 07:09:43 所属栏目:百科 来源:网络整理
导读:Google test documentation解释了gtest必须与项目一起编译,而不是使用具有lib和头文件的标准方法.他们解释说使用lib可能与“一个定义规则”冲突.我发现这个解释很奇怪,因为这是你使用任何其他库的方式,它们与“一个定义规则”不冲突 解决方法 除了通常的调试
Google test documentation解释了gtest必须与项目一起编译,而不是使用具有lib和头文件的标准方法.他们解释说使用lib可能与“一个定义规则”冲突.我发现这个解释很奇怪,因为这是你使用任何其他库的方式,它们与“一个定义规则”不冲突
解决方法
除了通常的调试/发布和32位/ 64位之外,Google Test还有许多控制其行为的设置.例如,它可以在早期TR1(< tr1 / tuple>)中使用来自C 11标准(< tuple>)中指定的位置的元组,或者根据平台(即OS)使用它自己滚动它自己的元组.,编译器和标准库)支持.如果在二进制文件中编译的库部分配置为使用自己的元组,但是#include到代码中的部分会尝试使用标准< tuple>标题,你有麻烦了. Google Test的特殊之处在于它旨在实现非常广泛的平台兼容性,因此具有大量这些设置,从而为冲突创造了充足的机会.实际上,在开发人员被那些犯了错误的人的大量支持电话淹没之后,调用了这个规则.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |