我在.mm文件中制作了一个非常简单的Objective-C / C程序,但我不知道如何链接Objective-C库/框架。我只需要Foundation框架。我怎样才能做到这一点?我不想在Xcode中这样做,因为Xcode总是创建一个包含项目文件的整个文件夹,然后将产品隐藏在一个难以找到的文件夹中,我觉得它是用于单文件程序的大量内存
代码:
#include <stdio.h>
#import <Foundation/Foundation.h>
NSString* charToNSString(char * c){
return [NSString stringWithUTF8String:c];
}
const char* NSStringToChar(NSString *str){
return [str UTF8String];
}
int main(int argc, char * argv[]){
return 0;
}
编译:{{1}}
输出:
gcc file.mm
答案 0 :(得分:6)
$ gcc -framework Foundation main.mm
尽管上面的命令工作正常,但我建议你创建Makefile
$vim Makefile
粘贴下面的内容
CC=gcc
FRAMEWORKS:= -framework Foundation
SOURCE=main.mm
OUT=-o main
all:
$(CC) $(SOURCE) $(FRAMEWORKS) $(OUT)
# ^ this is a tab not spaces, if you give spaces here it will through error :*** missing separator
然后运行
$ make
请查看有关Makefile
的简单教程