0

我在 2013 年使用 Gentoo Linux 下的 g++ v. 4.7.3 和使用 c++11 的 Eclipse Indigo 编译了我的项目。在这个项目中,我需要完美定义整数大小。所以,我使用了 u_int32_t、u_int8_t 类型。

今天,我有 Debian Jessie 下的 g++ v. 4.9.2,仍然使用 Eclipse Indigo。清理项目后,重建导致“类型 u_int32_t 无法解析”。

我的编译器选项:

-DDEBUG -ULIMITED_CODE -UDON_T_GROUP_LINES -UREADABLE -ULIMIT_CODES -I/usr/include/c++/4.9.2/ -O0 -g3 -c -fmessage-length=0  -std=c++11

我的第一次尝试是在正确的位置添加#include <cstdint>#include <stdint.h>(不推荐使用),但我得到了同样的错误。看来我必须到处u_int32_t替换。uint32_t

我已经搜索过:type "could not be resolved" "u_int32_t" "uint32_t"但什么也没找到。

另一种选择可能是使用与 2013 年相同版本的 g++ 和 libs 设置 Docker,但出于多种原因,我想迁移到最近的编译器和 libs。

我的结论是到处添加#include <cstdint>和替换。但我想确认一下正确的方法是什么?u_int32_tuint32_t

4

0 回答 0