Objective c Obj-C中“结构块文字1”的重新定义
我已经解决这个问题一段时间了,它真的让我发疯。无论何时声明块,在使用LLVM GCC 4.2编译Xcode 4.1时都会出现编译错误:Objective c Obj-C中“结构块文字1”的重新定义,objective-c,struct,compiler-errors,objective-c-blocks,llvm-gcc,Objective C,Struct,Compiler Errors,Objective C Blocks,Llvm Gcc,我已经解决这个问题一段时间了,它真的让我发疯。无论何时声明块,在使用LLVM GCC 4.2编译Xcode 4.1时都会出现编译错误: Redefinition of 'struct __block_literal_1' 即使是从文档粘贴的复制块示例也会引发错误: int multiplier = 7; int (^myBlock)(int) = ^(int num) { return num * multiplier; }; 我曾多次尝试寻找解决此错误的方法,但都无济于事。任何帮助
Redefinition of 'struct __block_literal_1'
即使是从文档粘贴的复制块示例也会引发错误:
int multiplier = 7;
int (^myBlock)(int) = ^(int num) {
return num * multiplier;
};
我曾多次尝试寻找解决此错误的方法,但都无济于事。任何帮助都将不胜感激
更新:
我知道我发帖子已经有一段时间了,但我迟早要解决这个问题。我认为这与使用静态库有关。将包含块的静态库添加到项目时,将引发错误。将很快发布更多的细节。这是一些C++ lambda扩展名?@ PST:不,它是C/Objy-C扩展。但是,你是正确的,它是lambda表达式的一种实现。你能提供一个最小的测试用例来复制这个问题,并且包括生成系统中的错误的构建日志吗?这是一些C++ lambda扩展?@ PST:不,它是C/Objy-C扩展。但是,您是正确的,它是lambda表达式的一个实现。您能否提供一个最小的测试用例来重现问题,并包括在您的系统中产生错误的构建日志?