Ubuntu 对于使用块的clang程序,您需要链接哪些库

Ubuntu 对于使用块的clang程序,您需要链接哪些库,ubuntu,llvm,clang,objective-c-blocks,Ubuntu,Llvm,Clang,Objective C Blocks,我发现(下面)在编译使用块的代码时需要使用-fblock 我需要链接哪个库才能让链接器解析\n nConcreteCheckBlock?(在Ubuntu 9.10 AMD64上) 在没有内置操作系统支持的平台(如SnowLeopard)上,Clang还没有提供一种简单的方法来使用块。您可以在此处找到有关libdispatch项目的更多信息: 在编译器rt项目(提供块运行时)中: 但是,这还没有很好地包装为叮当响的最终用户 如果您想深入了解一下,编译器rt项目中确实有blocks运行时,您可以使用

我发现(下面)在编译使用块的代码时需要使用-fblock

我需要链接哪个库才能让链接器解析\n nConcreteCheckBlock?(在Ubuntu 9.10 AMD64上)


在没有内置操作系统支持的平台(如SnowLeopard)上,Clang还没有提供一种简单的方法来使用块。您可以在此处找到有关libdispatch项目的更多信息: 在编译器rt项目(提供块运行时)中: 但是,这还没有很好地包装为叮当响的最终用户


如果您想深入了解一下,编译器rt项目中确实有blocks运行时,您可以使用它来构建一个库,该库将提供NSConcreteTrackBlock。

使用中的说明来构建一个libBlocksRuntime。一个可以链接的库。

在Ubuntu上安装libBlocksRuntime,方法是:

sudo apt-get install llvm
sudo apt-get install clang
sudo apt-get install libblocksruntime-dev
要编译,请包括库和-fblock:

clang ctest.c -fblocks -lBlocksRuntime
这在其他操作系统上也可用。FreeBSD和MiddNightBSD都包括clang和libBlocksRuntime.so

clang ctest.c -fblocks -lBlocksRuntime