What you need to do is inform the compiler that the code you are pointing at
is C. Of course, that's like saying that saying that the way to build a
space shuttle is to get the parts you need and put it together; so here's
how you do it ;)
In your C++ code, you include the headers to the C-library somewhere.
Wherever you include those headers, use the 'extern "C"' statement to tell
the compiler to look out for C decoration instead of C++. It looks something
like this:
--- CODE ---
// This is my C++ source file
extern "C"
#include "some_c_library_header_file.h"
#include "some_other_c_library_header_file.h"
}
#include <iostream.h>
#include "some_c++_library_header_file.h"
. . .
int main(void) {
cout << "that's it." << endl;
return 69;
}
--- CODE ---
I think this solves the problem you are discussing. Let me know if this
helps. Later...
Austin Bingham
Laboratory for Intelligent Processes and Systems
University of Texas at Austin
[EMAIL PROTECTED]
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
Todd Gureckis
Sent: Monday, March 27, 2000 12:54 PM
To: [EMAIL PROTECTED]
Subject: link c libraries to c++ programs
i have a libxxx.a file that i want to link with a c++ program using g++.
if i compile like this:
g++ -c main.cpp
g++ main.o libxxx.a
i get a bunch of "undefined references" to functions in the library.
although if i write main.cpp in c
and do the same procedure above with gcc everything works.
what do you have to do to get the g++ linker to work with c libraries.
seems like to me like it should work automagically.
any help would be appreciated.
thanks,
tod.
-----------------------------------------------------------------
Todd Gureckis Webmaster http://kvrx.org
[EMAIL PROTECTED] [EMAIL PROTECTED]
http://www.adid.net/ "Linux -- the choice of
phone: (512)415-5196 the GNU Generation"
-----------------------------------------------------------------
---------------------------------------------------------------------------
Send administrative requests to [EMAIL PROTECTED]
---------------------------------------------------------------------------
Send administrative requests to [EMAIL PROTECTED]