首页 > 解决方案 > 移植问题 Linux/Unix build 到 Windows — Visual C++ 找不到属性关键字?

问题描述

我认为我的新 Windows 机器找不到“属性”机制。这是因为__attribute__仅仅是 GNU 的东西吗?我正在尝试编译我使用 gcc 在我的 Linux 机器上创建的一些头文件。我有生以来第一次使用 Visual C++ 6.0。我怎样才能解决这个问题?

代码:

typedef struct s_mystruct {
         unit somevar;
} __attribute__((packed)) MyStruct;

错误:错误 C2146:语法错误:在标识符“属性”之前缺少“)”错误C2061:“语法错误:标识符'属性'”

不同地方出现相同类型的错误 -->

**typedef unsigned long uint128_t __attribute__ ((mode(TI)));
                typedef long int128_t __attribute__ ((mode(TI)));**

这次甚至没有启用代码:(

好吧,我们当然可以实现——

#define __attribute__(x)

这将在预处理期间简单地从代码中删除注释。

但是这个解决方案可能会改变构建行为。

请提出更好的解决方案。

标签: cwindowsattributesporting

解决方案


推荐阅读