如何在ubuntu中使用uchar_t编译项目

时间:2014-01-06 23:19:29

标签: c++ ubuntu compilation

我有一个项目源代码

它包含uchar_t

我需要在Ubuntu 13.10中编译这个项目 但是在运行汇编时它发出警告:

unknown type name ‘uchar_t’

任何人都有想法解决。替换uchar_t或其他解决方案...

3 个答案:

答案 0 :(得分:4)

看来,uchar_t表示某些字符,在这种情况下,您可能希望将其设为unsigned字符类型,例如:

typedef unsigned char uchar_t;

这是否有效取决于代码的真正意图。没有上下文,就无法分辨出预期的内容。在任何一种情况下,我都会在战略位置使用typedef而不是替换类型。同样,uint_t可能意味着

typedef unsigned int uint_t;

这些typedef是否做正确的事情,但需要进行验证。

答案 1 :(得分:2)

这可能是unsigned char的别名。

答案 2 :(得分:1)

uchar_tushort_tuint_tulong_t类型是sys/types.h中定义的Solaris特定类型,并被注释为POSIX扩展。该评论含糊不清,可能意味着它们是(特定于供应商)对POSIX标准的扩展,而不是它们的一部分。其他一些系统定义它们,其他系统不定义它们(cygwin,Linux)。它们非常简单,可以通过添加

快速替换
typedef unsigned char   uchar_t;
typedef unsigned short  ushort_t;
typedef unsigned int    uint_t;
typedef unsigned long   ulong_t;

项目标题中的某处。我非常喜欢它们,因为它们更短,1个字,遵循POSIX和inttypes.h命名风格,非常明显。