2 compilation objective-c gnustep
嗨,我是一个初学者学习目标c.我发现错误"hello.m:1:34:Foundation/Foundation.h:没有这样的文件或目录"我知道我需要制作一个make文件我可能知道如何制作make文件
无需创建makefile.如果您从"所有程序 - > GNUstep - > Shell"启动MinGW,如上面的Pax所示,您可以编译.m文件.
我的GNUstep安装在c:\ GNUstep\GNUstep\System中.如果您的不同,则应相应地更改Foundation.h的导入.
我这样做了:
// ----------你好
#import <../../GNUstep/System/Library/Headers/Foundation/Foundation.h>
int main(int argc, const char* argv[])
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello from Hello.m!");
[pool release];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
// ----------
启动MinGW shell.(往上看.)
在shell命令行上,切换到程序代码所在的目录.(请注意,由于这不是Unix,因此必须包含Windows驱动器号.):
cd/c/myprogs/obj -c/hello
编译程序:
gcc -o hello hello.m -I/c/GNUstep/GNUstep/System/Library/Headers \
-L/c/GNUstep/GNUstep/System/Library/Libraries -lobjc -lgnustep-base \
-fconstant字符串类= NSConstantString
(注意"\"字符允许我们将命令扩展到多行.)
编译时,我收到以下信息性消息:
Info: resolving ___objc_class_name_NSAutoreleasePool by linking to __imp____objc_class_name_NSAutoreleasePool (auto-import)
Info: resolving ___objc_class_name_NSConstantString by linking to __imp____objc_class_name_NSConstantString (auto-import)
Run Code Online (Sandbox Code Playgroud)
运行生成的hello.exe给了我这个:
2009-06-03 14:44:59.483 hello[1240] Hello from Hello.m!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6913 次 |
| 最近记录: |