[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Multiple definition error with some compilers



Ingvarr Zhmakin wrote:

> Симптомы следующие: код нормально компилится более-менее кем угодно
> (например, gcc-2.95.*, MDVC++, BB), а с ними выходит лажа -- они
> гонят, что символ определен много раз. Вот, как это выглядит для
> gcc-3.0:
>
> ===
> 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++).




Reply to: