Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > Unresolved Symbols from C++ Code

Reply
Thread Tools

Unresolved Symbols from C++ Code

 
 
Scott Brady Drummonds
Guest
Posts: n/a
 
      10-08-2003
Hi, everyone,

I'm writing a bunch of C++ code that is going to be linked into a program
compiled with gcc (version 2.96; I have no option of changing this version).
My C++ code compiles and executes without error in my C++ test harness.
However, things fail once I move to gcc.

Specifically, I'm getting errors like the following:

vcs.o(.text+0xf): undefined reference to `operator new(unsigned)'
vcs.o(.text+0x49): undefined reference to `operator delete(void*)'
vcs.o(.text+0x5a): undefined reference to `_Unwind_Resume'
vcs.o(.text+0x6b): undefined reference to `operator delete(void*)'
vcs.o(.text+0xa9): undefined reference to `_Unwind_Resume'
vcs.o(.text+0x149): undefined reference to
`std::allocator<char>::allocator()'
vcs.o(.text+0x15f): undefined reference to `std::string::string(char const*,
std::allocator<char> const&)'
vcs.o(.text+0x189): undefined reference to `std::string::~string()'
vcs.o(.text+0x199): undefined reference to `std::string::~string()'
vcs.o(.text+0x1ac): undefined reference to
`std::allocator<char>::~allocator()'
vcs.o(.text+0x1bc): undefined reference to
`std::allocator<char>::~allocator()'
....
/usr/users/home4/sdrummon/src/marple/src/vcs/libVCSMarple.a(vcs.o): In
function `std::map<char const*, int, std::less<char const*>,
std::allocator<std:air<char const* const, int> > >::map()':
vcs.o(.gnu.linkonce.t._ZNSt3mapIPKciSt4lessIS1_ESa ISt4pairIKS1_iEEEC1Ev+0x4c
): undefined reference to `_Unwind_Resume'
....

I have tried compiling the final binary (which uses both C and C++ compiled
objects) with "-lstdc++". That fixes these issues on gcc 3.1, but causes
the above problems with the 2.96. Perhaps another library needs to be added
to the link line?

Thanks!
Scott

--
Remove ".nospam" from the user ID in my e-mail to reply via e-mail.


 
Reply With Quote
 
 
 
 
Rolf Magnus
Guest
Posts: n/a
 
      10-08-2003
Scott Brady Drummonds wrote:

> Hi, everyone,
>
> I'm writing a bunch of C++ code that is going to be linked into a
> program compiled with gcc (version 2.96; I have no option of changing
> this version). My C++ code compiles and executes without error in my
> C++ test harness. However, things fail once I move to gcc.
>
> Specifically, I'm getting errors like the following:
>
> vcs.o(.text+0xf): undefined reference to `operator new(unsigned)'
> vcs.o(.text+0x49): undefined reference to `operator delete(void*)'
> vcs.o(.text+0x5a): undefined reference to `_Unwind_Resume'
> vcs.o(.text+0x6b): undefined reference to `operator delete(void*)'
> vcs.o(.text+0xa9): undefined reference to `_Unwind_Resume'
> vcs.o(.text+0x149): undefined reference to
> `std::allocator<char>::allocator()'
> vcs.o(.text+0x15f): undefined reference to `std::string::string(char
> const*, std::allocator<char> const&)'
> vcs.o(.text+0x189): undefined reference to `std::string::~string()'
> vcs.o(.text+0x199): undefined reference to `std::string::~string()'
> vcs.o(.text+0x1ac): undefined reference to
> `std::allocator<char>::~allocator()'
> vcs.o(.text+0x1bc): undefined reference to
> `std::allocator<char>::~allocator()'
> ...
> /usr/users/home4/sdrummon/src/marple/src/vcs/libVCSMarple.a(vcs.o): In
> function `std::map<char const*, int, std::less<char const*>,
> std::allocator<std:air<char const* const, int> > >::map()':
>

vcs.o(.gnu.linkonce.t._ZNSt3mapIPKciSt4lessIS1_ESa ISt4pairIKS1_iEEEC1E
+0x4c
> ): undefined reference to `_Unwind_Resume'
> ...
>
> I have tried compiling the final binary (which uses both C and C++
> compiled objects) with "-lstdc++".


You mean s/compiling/linking/. Looks to me as if you're linking with gcc
instead of g++.

> That fixes these issues on gcc 3.1, but causes the above problems with

the 2.96. Perhaps another library needs to be added to the link line?

Maybe. Just use g++ for linking. This will automatically added
everything that's needed.

 
Reply With Quote
 
 
 
 
Scott Brady Drummonds
Guest
Posts: n/a
 
      10-08-2003
Well, after several hours of trial-and-error, I seem to have fixed this
problem. I was compiling the C++ source with g++ 3.1 and that was getting
linked to the C source using gcc 2.96. Early experiments suggest that
backing the C++ compiler back to 2.96 fix the problem.

I know it's academic at this point, but I'd like to know why the version
imcompatibility caused the unresolved symbols mentioned below. Can someone
explain?

Scott

"Scott Brady Drummonds" <(E-Mail Removed)> wrote in
message news:bm1ps6$omj$(E-Mail Removed)...
> Hi, everyone,
>
> I'm writing a bunch of C++ code that is going to be linked into a program
> compiled with gcc (version 2.96; I have no option of changing this

version).
> My C++ code compiles and executes without error in my C++ test harness.
> However, things fail once I move to gcc.
>
> Specifically, I'm getting errors like the following:
>
> vcs.o(.text+0xf): undefined reference to `operator new(unsigned)'
> vcs.o(.text+0x49): undefined reference to `operator delete(void*)'
> vcs.o(.text+0x5a): undefined reference to `_Unwind_Resume'
> vcs.o(.text+0x6b): undefined reference to `operator delete(void*)'
> vcs.o(.text+0xa9): undefined reference to `_Unwind_Resume'
> vcs.o(.text+0x149): undefined reference to
> `std::allocator<char>::allocator()'
> vcs.o(.text+0x15f): undefined reference to `std::string::string(char

const*,
> std::allocator<char> const&)'
> vcs.o(.text+0x189): undefined reference to `std::string::~string()'
> vcs.o(.text+0x199): undefined reference to `std::string::~string()'
> vcs.o(.text+0x1ac): undefined reference to
> `std::allocator<char>::~allocator()'
> vcs.o(.text+0x1bc): undefined reference to
> `std::allocator<char>::~allocator()'
> ...
> /usr/users/home4/sdrummon/src/marple/src/vcs/libVCSMarple.a(vcs.o): In
> function `std::map<char const*, int, std::less<char const*>,
> std::allocator<std:air<char const* const, int> > >::map()':
>

vcs.o(.gnu.linkonce.t._ZNSt3mapIPKciSt4lessIS1_ESa ISt4pairIKS1_iEEEC1Ev+0x4c
> ): undefined reference to `_Unwind_Resume'
> ...
>
> I have tried compiling the final binary (which uses both C and C++

compiled
> objects) with "-lstdc++". That fixes these issues on gcc 3.1, but causes
> the above problems with the 2.96. Perhaps another library needs to be

added
> to the link line?
>
> Thanks!
> Scott
>
> --
> Remove ".nospam" from the user ID in my e-mail to reply via e-mail.
>
>



 
Reply With Quote
 
Jonathan Mcdougall
Guest
Posts: n/a
 
      10-08-2003
> > I'm writing a bunch of C++ code that is going to be linked into a
program
> > compiled with gcc (version 2.96; I have no option of changing this

> version).


<snip>

First, do not top-post. Second, do not include the whole message if you
are only answering to parts of it (what's more, it was _your_ message).

> I know it's academic at this point, but I'd like to know why the version
> imcompatibility caused the unresolved symbols mentioned below. Can

someone
> explain?


No, please post to the approriate forum.

http://www.parashift.com/c++-faq-lit...t.html#faq-5.9


Jonathan


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
unresolved symbols while trying to link to boost_regex library shouvik C++ 0 02-11-2008 07:25 AM
Unresolved symbols dlclose, dlopen, dlerror, dlsym me2faster@excite.com Ruby 8 05-17-2005 07:30 PM
Unresolved import javax.servlet under Netbeans 4.0 Andrew Mayo Java 1 01-31-2005 12:39 PM
resolved/unresolved signal?! jozo VHDL 1 05-16-2004 02:47 PM
Pyhon Extensions linker error, unresolved symbols Jim Python 0 11-18-2003 11:13 PM



Advertisments