| 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 12: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. | |||||