NSLog 错误:找不到“NXConstantString”?

发布于 2024-10-17 05:28:28 字数 459 浏览 2 评论 0原文

我终于让 GNUstep 工作了(在 Windows 上),它编译并运行得很好。但是,每当我尝试使用 NSLog 时,都会收到以下错误:

$ gcc -o hello hello.m -I /GNUstep/System/Library/Headers \
> -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base
hello.m: In function 'main':
hello.m:4:5: error: cannot find interface declaration for 'NXConstantString'

我的源代码:

#import <Foundation/Foundation.h>

int main(void) {
    NSLog(@"hello world");
}

I finally got GNUstep working (on windows), and it compiles and runs fine. However, whenever I try to use NSLog, I get the following error:

$ gcc -o hello hello.m -I /GNUstep/System/Library/Headers \
> -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base
hello.m: In function 'main':
hello.m:4:5: error: cannot find interface declaration for 'NXConstantString'

My source code:

#import <Foundation/Foundation.h>

int main(void) {
    NSLog(@"hello world");
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凉月流沐 2024-10-24 05:28:28

它是 -

NSLog(@"hello world");

 NSlog(@"hello world");  // 'l' should be upper case in NSLog

试试这个 -

gcc -o hello hello.m -I /usr/lib/GNUstep/System/Library/Headers \
-L /usr/lib/GNUstep/System/Library/Libraries/ -lgnustep-base \
-fconstant-string-class=NSConstantString

如何使用 gcc 编译 Objective C 程序

It is -

NSLog(@"hello world");

not

 NSlog(@"hello world");  // 'l' should be upper case in NSLog

Try this -

gcc -o hello hello.m -I /usr/lib/GNUstep/System/Library/Headers \
-L /usr/lib/GNUstep/System/Library/Libraries/ -lgnustep-base \
-fconstant-string-class=NSConstantString

How to compile objective c programs using gcc

峩卟喜欢 2024-10-24 05:28:28

请尝试以下操作:

$gcc -o hello hello.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString

注意

-fconstant-string-class=NSConstantString

如果没有此命令,它会将常量字符串对象视为类类型NXConstantString


运行:

$./hello.m or whatever your objective-c code file name.

Try the following:

$gcc -o hello hello.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString

Note

-fconstant-string-class=NSConstantString

without this command it consider constant string objects as a class type NXConstantString.


To run:

$./hello.m or whatever your objective-c code file name.
王权女流氓 2024-10-24 05:28:28

非常简单,只需在 -lgnustep-base-fconstant-class=NSConstantString 之间添加一个空格即可。

错误的方式: -lgnustep-base-fconstant-class=NSConstantString< /code>

正确方法:-lgnustep-base -fconstant-class=NSConstantString

it's very simple just put a space between -lgnustep-base and -fconstant-class=NSConstantString

Wrong way: -lgnustep-base-fconstant-class=NSConstantString

Right way: -lgnustep-base -fconstant-class=NSConstantString

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文