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

Re: gcc



On Wed, Mar 10, 2004 at 01:03:41PM +0300, Dmitry Skorinko wrote:
> >> а для каких версий gcc требуется перекомпиляция? Ну то есть есть у
> >> меня объектный файл, компильнутый допустим в Gcc 3.2.0.... его к
> >> объектам 2.95.3 прилинковать то прилинкуешь, только работать ниче не
> >> будет.
> AK> Во-первых, это имеет значение только в случае C++. Во-вторых, ты
> AK> получишь ошибку на этапе линковки, а не во время исполнения.
> 
> Ну вот прям щас взял и слинковал 2 объекта, скомпилированных в 3.2.2 с
> одним, скомпилированным в 2.95.4 ..
> типа тиго: ld -r a3.o b3.o c2.o -o d.o - нормально все..

$ cat a.cpp 
extern int test();

int main ()
{
    return test();
}

$ cat b.cpp 
int test()
{
    return 0;
}

$ g++-2.95 a.cpp -c -o a.o
$ g++-3.3 b.cpp -c -o b.o
$ g++-3.3 a.o b.o -o c.exe
a.o(.text+0x7): In function `main':
: undefined reference to `test(void)'
collect2: ld returned 1 exit status
$ g++-3.3 a.cpp -c -o a.o
$ g++-3.3 a.o b.o -o c.exe

> так различия только, когда 2 и 3??

Между 2.x и 3.x


-- 
Andrey V. Kiselev
Home phone:  +7 812 5274898  ICQ# 26871517



Reply to: