gpt4 book ai didi

objective-c - 要链接哪个 OSX 库(命令行)以使用 NSLog?

转载 作者:行者123 更新时间:2023-12-03 16:05:47 25 4
gpt4 key购买 nike

我想使用命令行编译器从 MAC OSX 上的命令行编译和链接应用程序。我有一个名为“hello.m”的源文件,如下所示:

    #import <Foundation/Foundation.h>
int main(int argc,char *argv[])
{
NSLog(@"hello world\n");
return 0;
}

在命令提示符下,我键入:
    $ clang -o hello hello.m

但编译器返回:
    Undefined symbols for architecture x86_64:
"_NSLog", referenced from:
_main in main-74f615.o
ld: symbol(s) not found for architecture x86_64

显然,当我调用 NSLog 时,我需要链接到一个库。我需要链接哪个库?

最佳答案

您需要链接到的库是“基础”。这是您在文件顶部导入的框架。如果这是在 Xcode 中,它会通过项目设置/自动化框架检测为您设置框架链接。直接使用clang时,需要通过-framework标志以正确链接到它们。

clang -framework Foundation -o hello hello.m

关于objective-c - 要链接哪个 OSX 库(命令行)以使用 NSLog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40940357/

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