|
From: | Andreas Höschler |
Subject: | Re: Linking frameworks does not work |
Date: | Wed, 2 May 2018 15:30:21 +0200 |
Hi Wolfgang,
That's not the case. The code is used. When executing the resulting binary I get tons of "... does not recognize selector ..." exceptions!? :-( For test purposes I tried make messages=yes shared=no This seems to add -static to the gcc statement and immediately produces errors in the link phase. gcc -static -rdynamic -pthread -fgnu-runtime -o /Build/TabTest/TabTest.app/./TabTest \ /Build/TabTest/obj/TabTest.obj/Controller.m.o /Build/TabTest/obj/TabTest.obj/DocumentController.m.o /Build/TabTest/obj/TabTest.obj/main.m.o -lESMFoundation -lSRAppKit -lSRDesign -lSREnterprise -lSRFoundation -lSRInterface -lSRMapKit -lSRObjects -lSRQuery -L/root/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/lib/i386-linux-gnu -lESMFoundation -lSRAppKit -lSRDesign -lSREnterprise -lSRFoundation -lSRInterface -lSRMapKit -lSRObjects -lSRQuery -lgnustep-gui -lgnustep-base -lobjc -lgmp -lgnutls -lxslt -lxml2 -lffi -lrt -ldl -lpthread -lz -licui18n -licuuc -licudata -lm /usr/bin/ld: cannot find -lESMFoundation /usr/bin/ld: cannot find -lSRAppKit /usr/bin/ld: cannot find -lSRDesign /usr/bin/ld: cannot find -lSREnterprise /usr/bin/ld: cannot find -lSRFoundation /usr/bin/ld: cannot find -lSRInterface /usr/bin/ld: cannot find -lSRMapKit /usr/bin/ld: cannot find -lSRObjects /usr/bin/ld: cannot find -lSRQuery /usr/bin/ld: cannot find -lESMFoundation /usr/bin/ld: cannot find -lSRAppKit /usr/bin/ld: cannot find -lSRDesign /usr/bin/ld: cannot find -lSREnterprise /usr/bin/ld: cannot find -lSRFoundation /usr/bin/ld: cannot find -lSRInterface /usr/bin/ld: cannot find -lSRMapKit /usr/bin/ld: cannot find -lSRObjects /usr/bin/ld: cannot find -lSRQuery /usr/bin/ld: cannot find -lgnustep-gui /usr/bin/ld: cannot find -lgnustep-base collect2: error: ld returned 1 exit status ld does not find my libs!?? The frameworks are all built sucessfully with GNUstep make. If I remember correctly in earlier versions of GNustep make there weren't only the files /usr/local/include/ESMFoundation /usr/local/lib/GNUstep/Frameworks/ESMFoundation.framework/Versions/1/ESMFoundation /usr/local/lib/GNUstep/Frameworks/ESMFoundation.framework/ESMFoundation for a framework ESMFoundation but also a copy or link of ESMFoundation in a GNUstep Libraries directory. This is no longer the case and might be related to the problem!? I did ln -s /usr/local/lib/GNUstep/Frameworks/ESMFoundation.framework/ESMFoundation /usr/local/lib/GNUstep/Libraries ls -l /usr/local/lib/GNUstep/Libraries lrwxrwxrwx 1 root root 71 Mai 2 14:30 ESMFoundation -> /usr/local/lib/GNUstep/Frameworks/ESMFoundation.framework/ESMFoundation drwxr-xr-x 3 root root 4096 Mai 2 11:56 gnustep-base drwxr-xr-x 3 root root 4096 Mai 2 11:57 gnustep-gui but this had no healing effect. make messages=yes shared=no still gives me This is gnustep-make 2.7.0. Type 'make print-gnustep-make-help' for help. Running in gnustep-make version 2 strict mode. Making all for app TabTest... gcc -static -rdynamic -pthread -fgnu-runtime -o /Build/TabTest/TabTest.app/./TabTest \ /Build/TabTest/obj/TabTest.obj/Controller.m.o /Build/TabTest/obj/TabTest.obj/DocumentController.m.o /Build/TabTest/obj/TabTest.obj/main.m.o -lESMFoundation -lSRAppKit -lSRDesign -lSREnterprise -lSRFoundation -lSRInterface -lSRMapKit -lSRObjects -lSRQuery -L/root/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/lib/i386-linux-gnu -lESMFoundation -lSRAppKit -lSRDesign -lSREnterprise -lSRFoundation -lSRInterface -lSRMapKit -lSRObjects -lSRQuery -lgnustep-gui -lgnustep-base -lobjc -lgmp -lgnutls -lxslt -lxml2 -lffi -lrt -ldl -lpthread -lz -licui18n -licuuc -licudata -lm /usr/bin/ld: cannot find -lESMFoundation /usr/bin/ld: cannot find -lSRAppKit /usr/bin/ld: cannot find -lSRDesign /usr/bin/ld: cannot find -lSREnterprise /usr/bin/ld: cannot find -lSRFoundation /usr/bin/ld: cannot find -lSRInterface /usr/bin/ld: cannot find -lSRMapKit /usr/bin/ld: cannot find -lSRObjects /usr/bin/ld: cannot find -lSRQuery /usr/bin/ld: cannot find -lESMFoundation /usr/bin/ld: cannot find -lSRAppKit /usr/bin/ld: cannot find -lSRDesign /usr/bin/ld: cannot find -lSREnterprise /usr/bin/ld: cannot find -lSRFoundation /usr/bin/ld: cannot find -lSRInterface /usr/bin/ld: cannot find -lSRMapKit /usr/bin/ld: cannot find -lSRObjects /usr/bin/ld: cannot find -lSRQuery /usr/bin/ld: cannot find -lgnustep-gui /usr/bin/ld: cannot find -lgnustep-base collect2: error: ld returned 1 exit status Any idea? Thanks, Andreas |
[Prev in Thread] | Current Thread | [Next in Thread] |