用GCC编译* .mm

时间:2014-08-15 05:23:08

标签: objective-c c gcc

我在.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

1 个答案:

答案 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

的简单教程