Title: | DECC |
Notice: | General DEC C discussions |
Moderator: | TLE::D_SMITH N TE |
Created: | Fri Nov 13 1992 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 2212 |
Total number of notes: | 11045 |
What is the difference beteween the two compilation/linking statements bellow: 1) cc lu62adm.c -o lu62adm -call_shared -lsnatprm -lc_r generates lu62adm that works: -rwxrwxr-x 1 root system 155648 Apr 9 12:25 lu62adm 2) cc -c -o lu62adm.o lu62adm.c ld lu62adm.o -o lu62adm -call_shared -lsnatprm -lc_r generates a lu62adm that DONT works: -rwxrwxr-x 1 root system 32768 Apr 9 12:37 lu62adm with the follwing error when trying to run it: 26915:./lu62admxx: /sbin/loader: Error: unresolvable symbol in /usr/shlib/libpthreads.so: __Argv 26915:./lu62admxx: /sbin/loader: Fatal Error: this executable has unresolvable symbols Is it correct to say that the first one gererates a code without shared libraries???? And the second one with shared libraries? Thanks in advance , Heraldo
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
2146.1 | QUARRY::neth | Craig Neth | Wed Apr 09 1997 13:29 | 7 | |
I just answered the note you posted on this in the DIGITAL UNIX conference. The difference is that in the second case, you aren't linking with the c startup routines contained in crt0.o. That's where the _Argv symbol is defined. If you use cc -v in your first case you'll see that cc is adding that for you. |