Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 到-lobjc还是不到-lobjc?_Objective C_Macos_Gcc_Linker_Compilation - Fatal编程技术网

Objective c 到-lobjc还是不到-lobjc?

Objective c 到-lobjc还是不到-lobjc?,objective-c,macos,gcc,linker,compilation,Objective C,Macos,Gcc,Linker,Compilation,GCC手册上说: file.m Objective-C源代码。请注意,您必须链接到libobjc library使Objective-C程序工作。 以及: -lobjc 为了链接一个 Objective-C或Objective-C++程序。 但是,我可以通过以下方法成功编译程序: $cc-PRG.M框架基金会 当包含框架时,它是链接器默认值吗?如果是,它在哪里 记录在案?程序仍将链接: $otool-la.out a、 输出: /System/Library/Frameworks/Found

GCC手册上说:

file.m

Objective-C源代码。请注意,您必须链接到
libobjc

library使Objective-C程序工作。

以及:

-lobjc

为了链接一个

Objective-C或Objective-C++程序。

但是,我可以通过以下方法成功编译程序:

<代码> $cc-PRG.M框架基金会 当包含框架时,它是链接器默认值吗?如果是,它在哪里 记录在案?程序仍将链接:

$otool-la.out
a、 输出:
/System/Library/Frameworks/Foundation.framework/../Foundation(…)
/usr/lib/libSystem.B.dylib(…)
-->/usr/lib/libobjc.A.dylib(…)
/System/Library/Frameworks/CoreFoundation.f…k/../CoreFoundation(…)

这是因为
Foundation
框架已经链接到
libobjc


因此,在OSX上,只有在没有链接到
Foundation
框架(这是非常罕见的)的情况下,才需要
-lobjc
选项。

您尝试过在linux系统上编译它吗?可能是OSX默认会这么做。很好,我还没试过。但即使是手册本身也进行了修改,在许多地方都有“仅限苹果”的注释。所以我想知道(如果这是苹果系统独有的),为什么不在这些部分附近明确地记录它。是的,这是苹果编译器的默认链接器。它们的手册页并不总是最新的。请提交一份bug报告。输入错误,它是-lobjc