在我的项目的头文件中,以下行被包含在一个内联方法中。
当我使用gcc 4.8.2编译时,出现以下错误:
错误:'boost :: archive :: iterators :: remove_whitespace <__gnu_cxx :: __normal_iterator> >'具有一个字段'boost :: archive :: iterators :: remove_whitespace <__gnu_cxx :: __normal_iterator> > ::',其类型使用匿名名称空间[-Werror]
我努力解决这个问题,但没有成功。从 link1和 link2中看来,这似乎是gcc低版本的问题。请问有人能建议如何消除此警告或解决该问题吗?我正在使用-Werror标志进行编译。
typedef boost::archive::iterators::transform_width<boost::archive::iterators::binary_from_base64< boost::archive::iterators::remove_whitespace<std::string::const_iterator>>, 8, 6> Base64ToBin;
当我使用gcc 4.8.2编译时,出现以下错误:
错误:'boost :: archive :: iterators :: remove_whitespace <__gnu_cxx :: __normal_iterator> >'具有一个字段'boost :: archive :: iterators :: remove_whitespace <__gnu_cxx :: __normal_iterator> > ::',其类型使用匿名名称空间[-Werror]
我努力解决这个问题,但没有成功。从 link1和 link2中看来,这似乎是gcc低版本的问题。请问有人能建议如何消除此警告或解决该问题吗?我正在使用-Werror标志进行编译。
typedef
上下文中什么是匿名吗?我真的弄不明白。那将对我非常有帮助。 - Panch-Wall -Werror
进行编译。我尝试过#pragma GCC disagnostic ignored "-Wall"
,但是#pragma GCC disagnostic ignored "-Werror"
也没有帮助。 - Panch-Wall
和-Werror
不是特定的警告,但#pragma GCC diagnostic warning -Wxyz
会禁用特定的警告xyz
。我认为这是-Wsubobject-linkage
。 - MSalters-Wsubobject-linkage
,但不幸的是,编译器gcc 4.8.2无法识别它。也许应该在更高版本中可用。如果我错了,请有人纠正我。 - Panch