【发布时间】:2014-10-21 17:43:21
【问题描述】:
我正在尝试制作一个可以在 Linux 中编译我的 Objective-C 项目的 Makefile(在 Koding 上运行的 ubuntu 14.04)。
我在 bash 中用来编译的命令是:
gcc $(gnustep-config --objc-flags) main.m $(gnustep-config --base-libs) -o ./bin/main
所以我尝试了一些简单的东西,例如:
FLAGS=$(gnustep-config --objc-flags)
LIBS=$(gnustep-config --base-libs)
all:
gcc $(FLAGS) main.m $(LIBS) -o ./bin/main
但是当我运行makefile时它说:
gcc main.m -o ./bin/main main.m:1:34: 致命错误: Foundation/Foundation.h:没有这样的文件或目录#import ^ 编译终止。 make: *** [all] 错误 1
Y 还尝试将变量 FLAGS 和 LIBS 替换为运行特定命令的控制台输出,例如:
FLAGS=-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g -O2 -fgnu-runtime -fconstant-string-class=NSConstantString -fexec-charset=UTF-8 -I. -I/home/mjdegue/GNUstep/Library/Headers -I/usr/local/include/GNUstep -I/usr/include/GNUstep
但在这种情况下,我会得到如下输出:
gcc -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-stri
ct-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-i
mport -g -O2 -fgnu-runtime -fconstant-string-class=NSConstantString -fexec-charset=UTF-8 -I. -I/home/mjdegue/GNUstep/L
ibrary/Headers -I/usr/local/include/GNUstep -I/usr/include/GNUstep main.m -rdynamic -pthread -shared-libgcc -fexceptio
ns -fgnu-runtime -L/home/mjdegue/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/lib -lgnustep-base -lobjc -lm -o ./
bin/main
gcc: error: unrecognized command line option '-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RU
NTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -pthrea
d -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g -O2 -fgnu-runtime -fconstant-string-class=NSConstantString -fexec-c
harset=UTF-8 -I. -I/home/mjdegue/GNUstep/Library/Headers -I/usr/local/include/GNUstep -I/usr/include/GNUstep'
make: *** [all] Error 1
问题是:
是否有对变量 $(gnustep-config --objc-flags) 和 $(gnustep-config --base-libs) 的引用,它们包含在 FLAGS / LIBS 中?
如果不是:我怎样才能做到这一点?
非常感谢大家。
【问题讨论】:
-
为什么不用gnustep make package?
标签: objective-c