我试图在C中以编程方式获取Mac OS X的版本.在搜索了一段时间之后我尝试了这段代码:
#include <CoreServices/CoreServices.h>
int GetOS()
{
SInt32 majorVersion,minorVersion,bugFixVersion;
Gestalt(gestaltSystemVersionMajor, &majorVersion);
Gestalt(gestaltSystemVersionMinor, &minorVersion);
Gestalt(gestaltSystemVersionBugFix, &bugFixVersion);
printf("Running on Mac OS X %d.%d.%d\n",majorVersion,minorVersion,bugFixVersion);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
XCode返回LD错误:
Undefined symbols for architecture x86_64:
"_Gestalt", referenced from:
_GetOS in main.o
我错过了什么?你怎么做到这一点?
我也发现了这个片段
[[NSProcessInfo processInfo] operatingSystemVersionString]
Run Code Online (Sandbox Code Playgroud)
但我不知道怎么用C写的.
use*_*116 17
您是否已将适当的框架传递给GCC以便启用CoreServices
?
% gcc -framework CoreServices -o getos main.c
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5448 次 |
最近记录: |