我正在尝试编译一些包含许多内容的下载源:
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代码。
答案 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资源(版本资源信息)编译为代码。编译失败了,只是决定吐出一个完全不相关的错误。