gpt4 book ai didi

ubuntu - 对于使用 block 的 clang 程序,您需要链接哪些库

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:00 24 4
gpt4 key购买 nike

我发现(如下)在编译使用 block 的代码时我需要使用 -fblocks。

我需要链接什么库才能让链接器解析 _NSConcreteStackBlock? (在 Ubuntu 9.10 AMD64 上。)

chris@chris-desktop:~$ clang ctest.c 

ctest.c:3:25: error: blocks support disabled - compile with -fblocks or pick a
deployment target that supports them
void call_a_block(void (^blockptr)(int)) {
^
ctest.c:11:19: error: blocks support disabled - compile with -fblocks or pick a
deployment target that supports them
call_a_block( ^(int y) {
^
2 diagnostics generated.
chris@chris-desktop:~$ clang ctest.c -fblocks
/tmp/cc-4sPSeO.o: In function `main':
ctest.c:(.text+0x79): undefined reference to `_NSConcreteStackBlock'
collect2: ld returned 1 exit status
clang: error: linker command failed with exit code 1 (use -v to see invocation)

最佳答案

Clang 尚未提供在没有内置操作系统支持的平台(例如 SnowLeopard)上使用 block 的简单方法。您可以在此处找到有关 libdispatch 项目的更多信息: http://libdispatch.macosforge.org/在 compiler-rt 项目(提供 block 运行时)上: http://compiler-rt.llvm.org/但这还没有为 Clang 最终用户很好地打包。

如果您想深入了解一下,compiler-rt 项目中确实有 block 运行时,您可以使用它来构建一个将提供 NSConcreteStackBlock 的库。

关于ubuntu - 对于使用 block 的 clang 程序,您需要链接哪些库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2297765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com