Re: Multiple definition error with some compilers
Доброе утро.
> > ===
> > virssmaa.o: In function `std::string::_Rep::_M_refdata()':
> > virssmaa.o(.text+0x3680): multiple definition of `std::string::_Rep::_M_refdata()'
> > BasicDomain.o(.text+0x1900): first defined here
> > collect2: ld returned 1 exit status
> > ===
> > Замечено: оба цепепешника, из которых эти объектники сделаны, включают
> > <string>.
> Сделай минимальный исходник, на котором проявляется баг и запости его сюда.
Хорошо, кину.
> А также расскажи, какие у тебя версии g++ и libstdc++ (точно, а не "3.0") и откуда ты их взял. Скорее
> всего, твоя проблема решается апгрейдом STL (libstdc++).
Всё взято с ftp.*.debian.org:
===
ii cpp-3.0 3.0-0pre010403 The GNU C preprocessor.
ii cpp-3.0-doc 3.0-0pre010403 Documentation for the GNU C preprocessor (cp
ii fastjar 3.0-0pre010403 Jar creation utility
ii fixincludes 3.0-0pre010403 Fix header files
ii g++-3.0 3.0-0pre010403 The GNU C++ compiler.
ii gcc-3.0 3.0-0pre010403 The GNU C compiler.
ii gcc-3.0-base 3.0-0pre010403 The GNU compiler collection (base package).
ii gcc-3.0-doc 3.0-0pre010403 Documentation for the GNU compilers (gcc, go
ii libgcc300 3.0-0pre010403 Shared libgcc.
ii libstdc++3.0 3.0-0pre010403 The GNU stdc++ library version 3
ii libstdc++3.0-d 3.0-0pre010403 The GNU stdc++ library version 3 (developmen
ii libstdc++3.0-d 3.0-0pre010403 The GNU stdc++ library version 3 (documentat
ii protoize 3.0-0pre010403 Create/remove ANSI prototypes from C code
===
Только вот насчет того, что это решается апгрейдом...
Я ж говорю -- с Каи (вылизанной версией, с которой все их примеры компилировались на ура) было похожее.
Это какое-то глобальное явление -- невосприятие линкером объектников...
Ingvarr.
Reply to: