我使用 ssh 到 iphone,并且可以使用 clang 或 gcc 在 iphone 上编译控制台应用程序。但是现在我如何才能链接到 UIKit?编译器找到标头并停留在链接上。
我应该将哪些参数传递给 clang?如何检查我是否有所需的静态/共享库?要链接的文件到底是什么?
示例程序:
#import <stdio.h>
#import <UIKit/UIView.h>
int main() {
UIView *U = [UIView alloc];
printf("OK\n");
return 0;
}
这是命令行和错误:
$ clang main.m
Undefined symbols:
"_OBJC_CLASS_$_UIView", referenced from:
__objc_classrefs__DATA@0 in main-2RgCk6.o
"_objc_msgSend", referenced from:
_main in main-2RgCk6.o
ld: symbol(s) not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
额外信息:
$ uname -a
Darwin devphone-teki-iPhone 13.0.0 Darwin Kernel Version 13.0.0: Sun Dec 16 19:58:44 PST 2012; root:xnu-2107.7.55~11/RELEASE_ARM_S5L8940X iPhone4,1 arm N94AP Darwin
$ clang --version
clang version 3.1 (trunk 152547)
Target: arm-apple-darwin13.0.0
Thread model: posix