在macOS Mojave上发布BOOST unit_test_framework/Google测试

Issue with BOOST unit_test_framework / Google Test on macOS Mojave

本文关键字:test framework 测试 Google unit BOOST Mojave macOS      更新时间:2023-10-16

在构建过程(单元测试)中,会出现一系列错误,如:
">错误:全局命名空间中没有名为'xxx'的成员使用::xxx"('xxx'是一种类型,例如uint8_t).

详细信息:

  • 如果我只包括<boost/test/unit_test.hpp>,错误源在文件/Library/Developer/CommandLineTools/usr/include/c++/v1/cstilt中
  • 如果我包括<boost/cstforce.hp>之前,错误源在文件/usr/local/include/boost/cstdin.hpp中

环境:

  • macOS Mojave
  • 编译器:叮当
  • CXX_标准:11/14
  • boost v.1.67.0_1(使用自制软件安装到默认位置/usr/local/Cellar/)

UPD:使用谷歌测试(1.8.1)也会出现同样的问题

在解决这个问题一段时间后,我重新安装了操作系统。现在我有Boost和Google Test并行工作。

我不能100%确定问题的原因,但我比较了重新安装前后的usr/local/include文件夹。我发现有很多.cpp.h文件,cstdint.hpp就是其中之一。现在usr/local/include文件夹只包含boost、gmock和gtest的符号链接。