Re: mystery linking failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nick,

Command line arguments to gcc are processed in the order specified, one at a
time.  One pass.

Object files are taken in their entirety.

Archive files only use the internal object files which satisfy outstanding
unfulfilled symbols.

Since you are specifying your .c file (which gets compiled into a .o file)
AFTER your libraries, your library does not get used because at the time the
library is processed there are no outstanding unfulfilled symbols.

Try reordering your command line so that items with dependencies are BEFORE
those things that fulfill those dependencies.

E.g. ...
gcc -v -Wall -Wextra -g \
-o clue-keygen \
-I/usr/local/include/pbc -I../include \
-L/home/someguy/clue/lib -L/usr/local/lib \
clue-keygen.c \
-lgmp -lpbc -lpbc_sig -lclue

I'm not sure of the order of gmp, pbc, pbc_sig and clue.  Just guessing.

FYI/Note: -Wextra has replaced deprecated -W ... I'm not sure if that
occurred by 3.4.4.

The -Wblahblahblah I've been using recently for my C++ code are...
-Wmost  (like -Wall, excluding -Wparentheses)
-Wextra
-W#warning
-Wmissing-format-attribute
-Wmissing-noreturn
-Wpacked
-Wshadow
-Wcast-align
-Wcast-qual
-Wconversion
-Wdeprecated
-Wdeprecated-declarations
-Wendif-labels
-Wformat-extra-args
-Winline
-Winvalid-offsetof
-Wnon-lvalue-assign
-Wnon-virtual-dtor
-Woverloaded-virtual
-Wpmf-conversions
-Wpointer-arith
-Wshorten-64-to-32
-Wsign-compare
-Wsign-promo
-Wwrite-strings
-Wunreachable-code

Ones that I don't use but would like to enable...
-Wfloat-equal
-Wold-style-cast

Ones that I haven't decided yet...
-Weffc++
-Wnon-template-friend
-Wnormalized=id
-Wredundant-decls

HTH,
--Eljay


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux