fatal error LNK1169: one or more multiply defined symbols found


  • If you are *defining* a symbol in one of
    the headers, and that header is included
    in more than one cpp file in the project,
    then that symbol will be *defined* in each
    cpp file that includes the header. Then when
    the linker tries to combine the obj files
    from the compilations into a single exe
    file it finds the symbol *defined* in
    more than one object module. i.e. - It
    *exists* in more than one module.

    The symbol can be *declared only* in the
    header. You need to *define* it in one
    and only one source module (cpp), and
    then in the other source modules it
    needs to be *declared as extern*.

    - Wayne
    Sunday, August 01, 2010 10:49 PM