#pragma pack不会编译?

时间:2010-12-05 03:12:13

标签: c++

我正在尝试编译一些包含许多内容的下载源:

142    #ifdef __cplusplus
143    #pragma pack(1)
144    #endif

但是我收到以下错误,它将无法编译:

src/globals.h:143:16: error: expected declaration before end of line
mingw32-make: *** [obj/main.o] Error 1

我正在使用与其余源代码一起下载的makefile来编译它。

我需要做些什么来进行编译?

编辑

源代码是KeeperFX提供的google code代码。

3 个答案:

答案 0 :(得分:1)

据我所知,#pragma指令属于Microsoft C ++编译器。 GCC supports some of these directives,但MinGW没有。{/ p>

答案 1 :(得分:0)

您可以使用GCC __attribute__((packed))扩展名。

答案 2 :(得分:0)

虽然我完全不知道为什么GCC选择pragma pack来强调它的问题但实际问题是它试图将Version.h资源(版本资源信息)编译为代码。编译失败了,只是决定吐出一个完全不相关的错误。