gpt4 book ai didi

objective-c - 如何编译 sbopenurl (c)

转载 作者:行者123 更新时间:2023-11-29 04:51:36 24 4
gpt4 key购买 nike

我正在尝试编译sbutils .它带有一个makefile,但每次我尝试编译它时都会出错。这是生成文件:

BINS := sblaunch sburlschemes sbopenurl sbbundleids
all: $(BINS)
%: %.c ent.plist
igcc -o $@ $< -std=gnu99 -framework CoreFoundation -framework SpringBoardServices
ldid -Sent.plist $@
clean:
rm -f $(BINS)

它附带了一些实用程序(sblaunch sburlschemes sbopenurl 和 sbbundleids),但我只想要 sbopenurl 我尝试直接使用 gcc sbopenurl 来编译它,但出现错误

Undefined symbols:
"_CFURLCreateWithBytes", referenced from:
_main in ccMCI3Fd.o
"_SBSOpenSensitiveURLAndUnlock", referenced from:
_main in ccMCI3Fd.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

谁能帮帮我?

最佳答案

如果你查看链接器找不到的符号的前缀,或者如果你只查看原始Makefile,你可以发现CoreFoundation和SpringBoardServices框架是必要的。进一步检查源代码或 Makefile 将发现代码中使用了 C99 扩展,因此 gcc 需要 -std=gnu99 标志。所以编译使用:

gcc -std=gnu99 -framework CoreFoundation -framework SpringBoardServices -o sbopenurl sbopenurl.c

关于objective-c - 如何编译 sbopenurl (c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8722920/

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