我正在编写一个Objective C程序来记录,我正在使用Ubuntu来编译它。
编译时,我收到错误
/tmp/ccJKC2MN.o:(.data+0x150): undefined reference to
`__objc_class_name_AbcLogger'
我已经在每个类的开头链接了所有头文件。
我的节目:
Logger.h
Logger.m
AbcLogger.h
AbcLogger.m
example.m
要编译它我使用命令:
gcc -x objective-c -I/usr/include/GNUstep \
-fconstant-string-class=NSConstantString \
-D_NATIVE_OBJC_EXCEPTIONS \
Logger.h AbcLogger.h example.m -lgnustep-base -o human
你能帮我解决一下这个问题。如果需要,请索取代码。
答案 0 :(得分:0)
我的建议是制作一个GNUmakefile
我无法说这是否100%准确,因为我无法确定此程序设置,但我会写一个这样的:
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME=human
human_OBJC_FILES=\
Logger.m\
AbcLogger.m\
example.m
human_HEADERS=\
Logger.h\
AbcLogger.h
include $(GNUSTEP_MAKEFILES)/tool.make
你将需要GNUSTEP_MAKEFILES来导致GNUstep / Makefiles路径,所以如果它发出像&#34这样的错误;找不到common.make"确保你运行
export GNUSTEP_MAKEFILES=/(Where ever you GNUstep folder is)/Makefiles
只需输入
即可make
好运,祝你好运!