One more bit of info on the linker error on my .mm test program: I confirmed 
that libobjc.so has the symbols, e.g.,

(ALSI8)dlobron@bos-lps80:~/build/clangport/akamai/common/lib$ nm -C 
libobjc.so|grep objc_autorelease
00000000000204b0 T objc_autorelease
00000000000200f0 T objc_autoreleasePoolPop
000000000001fc90 T objc_autoreleasePoolPush
00000000000204f0 T objc_autoreleaseReturnValue

I'm linking with the library:

/home/dlobron/build/clangport/akamai/llvm/llvm-5.0.0.install/bin/clang 
-std=gnu99  -fexceptions  -rdynamic 
CMakeFiles/CXXException.dir/CXXException.mm.o  -o CXXException 
-Wl,-rpath,/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/build 
../libobjc.so.4.6 -lstdc++ ../libobjcxx.so.4.6 
-L/home/dlobron/build/clangport/akamai/common/lib -lobjcxx -lobjc

But the symbol is still not found:

CMakeFiles/CXXException.dir/CXXException.mm.o: In function 
`_i_Test__autorelease':
/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/Test/CXXException.mm:(.text+0x98):
 undefined reference to `objc_autorelease(objc_object*)'

Full linker error below.

Linker error when trying to add a .mm version of CXXException to the tests:

(ALSI8)dlobron@bos-lps80:~/build/clangport/akamai/libobjc2/libobjc2-1.8.1/build/Test$
 /home/dlobron/build/clangport/akamai/llvm/llvm-5.0.0.install/bin/clang 
-std=gnu99  -fexceptions  -rdynamic 
CMakeFiles/CXXException.dir/CXXException.mm.o  -o CXXException 
-Wl,-rpath,/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/build 
../libobjc.so.4.6 -lstdc++ ../libobjcxx.so.4.6 
-L/home/dlobron/build/clangport/akamai/common/lib -lobjcxx -lobjc
CMakeFiles/CXXException.dir/CXXException.mm.o: In function 
`_i_Test__autorelease':
/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/Test/CXXException.mm:(.text+0x98):
 undefined reference to `objc_autorelease(objc_object*)'
CMakeFiles/CXXException.dir/CXXException.mm.o: In function `_i_Test__retain':
/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/Test/CXXException.mm:(.text+0xc8):
 undefined reference to `objc_retain(objc_object*)'
CMakeFiles/CXXException.dir/CXXException.mm.o: In function `_i_Test__release':
/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/Test/CXXException.mm:(.text+0xf8):
 undefined reference to `objc_release(objc_object*)'
CMakeFiles/CXXException.dir/CXXException.mm.o: In function 
`_c_NSAutoreleasePool__addObject_':
/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/Test/CXXException.mm:(.text+0x149):
 undefined reference to `objc_autorelease(objc_object*)'
CMakeFiles/CXXException.dir/CXXException.mm.o: In function `finally()':
/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/Test/CXXException.mm:(.text+0x18d):
 undefined reference to `throw_int()'
CMakeFiles/CXXException.dir/CXXException.mm.o: In function `main':
/home/dlobron/build/clangport/akamai/libobjc2/libobjc2-1.8.1/Test/CXXException.mm:(.text+0x3a2):
 undefined reference to `catchall()'

_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to