我使用 GoogleTest 测试我的 C++ 项目,在发现 Ubuntu 包中不再分发预编译库后,我在项目网站上发现以下内容:
如果您使用不同的编译器标志编译 Google Test 和您的测试代码,他们可能会看到相同类/函数/变量的不同定义(例如,由于在 Google Test 中使用了#if)。因此,为了您的理智,我们建议您避免安装预编译的 Google 测试库。相反,每个项目都应该编译 Google Test 本身,以确保 Google Test 和测试使用相同的标志。
我从中得到的是,将 GoogleTest 与正在测试的项目分开编译是一个坏主意。我不明白这是否只是 GoogleTest 的事情,或者这是否是链接库的一般事情。
问题
是否存在链接到预编译的第三方库、编译器标志或其他不安全的情况,如果没有,GoogleTest 有什么特别之处?