Follow us on...
Follow us on Twitter Follow us on Facebook
Register
Results 1 to 3 of 3
  1. #1
    joecrow is offline Registered User
    Join Date
    Apr 2001
    Location
    Indiana
    Posts
    29
    Thanks
    0
    Thanked 0 Times in 0 Posts

    eh, help, please (c++)

    I realize that no one needs my life story, so let's cut to the chase. I'm trying my first stab at OOP with a string class called "oostring". It's provided with my programming book (available online at: http://www.studio-ide.com/downloads/cppfiles.zip with some other stuff, if anyone cares).

    Anyway, when I try to compile a simple program that only instanciates and "cout's" an oostring, project builder spits out the error "undefined symbols". Now, I'm thinking that somehow the text encoding got messed up with the source files... the compiler says that the "undefined symbols" are:
    "__._8oostring
    ___8oostringPCc
    ___ls__FR7ostreamRC8oostring
    _reverse_string__8oostring"

    I can't find anything close to this in the oostring.h or oostring.c files ('8' does not appear in my source code anywhere). I think I might know the problem (something with stray characters or something... i dunno... but this class works fine on a PC at school...), but short of retyping the entire source code, I don't see how I could fix it.

    Can anyone help me out, please?

    Thanks,

    -Joe

  2. #2
    cgiard is offline Registered User
    Join Date
    Nov 2001
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Linker error

    joecrow,
    The symbol errors are generated by the linker, not the compiler. The compiler had to translate the names into unique names (the linker doesn't actually undestand the idea of overloaded functions). This is usually caused by 1 of 2 things. Either a) you are not linking in the library or object file which contains the oostring class, or b) you used cc for compiling some files and c++ for compiling others, but didn't put extern "C" around the correct include files. If you are using a Makefile, please post it and I will take a look.
    -Chris

  3. #3
    joecrow is offline Registered User
    Join Date
    Apr 2001
    Location
    Indiana
    Posts
    29
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hey, thanks for the response! I was looking around apple's developer site last night and came accross the fact that it was a linker error, not a compiling error, but I had no idea how to fix it. Your description got me squared away-- turns out that I just needed to add the source files "oostring.h" and "oostring.c" to the source folder in my project... got everything squared away now (boy do I feel stupid ).

    Thanks!!!

    -joecrow

 

 

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •