在objective-c中链接类时出错

时间:2015-08-12 11:30:00

标签: objective-c

我正在编写一个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

你能帮我解决一下这个问题。如果需要,请索取代码。

1 个答案:

答案 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
好运,祝你好运!