5
系統:簡單的Hello World在Objective-C鏗鏘和GNUstep的不編譯
64bit Ubuntu Lucid
GNUStep
clang/LLVM
test.m
#import <Foundation/Foundation.h>
int main(int argc, char * argv[]){
NSLog(@"Hello world!\n");
return 0;
}
編譯命令行:
clang -fobjc-gc -I /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include -I /usr/include/GNUstep/ -I /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include-fixed/ -L /usr/lib/GNUstep/ -L /usr/lib64/ -fconstant-string-class=NSConstantString -rpath /usr/lib64 -Xlinker -lgnustep-base test.m -o Test
錯誤:
/usr/bin/ld: /usr/lib64//libgnustep-base.so: undefined reference to symbol '__objc_exec_class'
/usr/bin/ld: note: '__objc_exec_class' is defined in DSO /usr/lib64/libobjc.so.2 so try adding it to the linker command line
/usr/lib64/libobjc.so.2: could not read symbols: Invalid operation
clang: error: linker command failed with exit code 1 (use -v to see invocation)
在使用GCC時,它編譯得很好,但鏗鏘沒有。
-______________-現在給了我一個錯誤說'在/ usr /斌/勞工處:找不到-lobjc'。我已經安裝了所有列出的項目... – texasbruce
我已經更新了答案,請參閱我的編輯。 –
'/ usr/bin/ld:/tmp/test-2JGYua.o:對符號'__objc_exec_class'的未定義引用 /usr/bin/ld:note:'__objc_exec_class'在DSO中定義/usr/lib64/libobjc.so .2嘗試將其添加到鏈接器命令行中 /usr/lib64/libobjc.so.2:無法讀取符號:無效操作 clang:error:鏈接器命令失敗,退出代碼1(使用-v查看調用) ' – texasbruce