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

标签 objective-c ios

我正在尝试编译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/

相关文章:

iphone - 解析问题

ios - 在 UITableView 中显示大图像的内存问题

java - 在 Java 中调用方法与在 Objective-C 中向对象发送消息相同吗?

objective-c - UITextView 不会响应其框架中的更改

ios - Swift 中的 FirebaseDatabase 查询问题

objective-c - NSUserDefault 和开关

ios - 如何在 Objective C 中从 JSON 获取 HTML 图像?

ios - UIViewControllerAnimatedTransitioning : screen keeps getting black under custom view

ios - 完成以下错误 "This query has an outstanding network connection. You have to wait until it'。”

ios - 如何在xcode中通过调用栈查找相关代码?