尝试在Windows上编译GNUstep objective-c的Gcc错误

时间:2014-09-30 04:50:40

标签: objective-c gnustep

  1. 我已经安装了四个GNU软件包(GNUstep MSYS System,GNUstep核心第二,GNUstep Devel,最后是Cairo Backend)到我的C盘(我在Windows上使用它)。

  2. 我创建了目录E:/ MyProject / ObjectiveC,我在其中编写了Helloworld.m程序并将其保存。

  3. 我使用命令“$ gcc'gnustep-config --objc-flags'helloworld.m -o helloworld'gnustep-config --base-libs'来编译程序,但是我收到以下错误(由于声誉不到10,因此无法提供屏幕截图)

    a)gcc.exe:错误:gnustep-config --objc-flags:没有这样的文件或目录

    b)gcc.exe:错误:gnustep-config --base-libs:没有这样的文件或目录

  4. 我有什么遗失的吗?我是否必须在objectivec目录中创建一个makefile?

1 个答案:

答案 0 :(得分:1)

我认为问题是你使用了普通引号而不是后引号。在标准的美国英语QWERTY键盘上,反引号位于数字1键的左侧。

正常引号告诉shell不要解释特殊字符,而space是一个特殊字符。所以shell将gnustep-config --objc-flags传递给gcc.exe作为包含空格的单个命令行参数。

返回引号告诉shell将引号之间的文本作为命令运行,并通过命令的输出替换引号和命令。因此,在这种情况下,如果使用反引号,shell将作为命令运行gnustep-config --objc-flags。据推测,config命令打印出编译GNUstep Objective-C源代码所需的编译器标志。然后shell将这些标志放在gcc命令行上,替换引用的命令。