[EMAIL PROTECTED] writes:

> /usr/ccs/bin/ld: Unsatisfied symbols:
>   tar_close(TAR*)   (first referenced in /var/tmp//ccHgOOyd.o) (code)

Read up on name mangling.
The problem is that the symbols you have in libtar.a are "plain-C"
unmangled symbols, but the symbols you need are C++-mangled ones.

In C++ code, don't do this:

  extern int tar_extract_all(TAR*, char*);

do this instead:

  extern "C" int tar_extract_all(TAR*, char*);

If you are not prototyping these symbols yourself, but include a
header with prototypes, then the bug is in that header (it's not
C++-compatible). The fix:

extern "C" {
  #include "tar.h"
}

Cheers,
-- 
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to