The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Ошибка компиляции quake2"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Ошибка компиляции quake2"  
Сообщение от igrock (ok) on 02-Июн-07, 04:36 
При компиляции выдается ошибка связанная с функцией LoadPCX и еще какой то Load...
Сейчас точно не помню что именно но вроде компилятор говорит что будет интерпретировать warnings как errors.Может ключи к компилятору дать какие? даже если указать при компиляции ключ пропускать ошибки то такая ошибка вылазит очень много раз (именно про эти две функции) во время компиляции.  Если кто нить при компиляции кваки на такую ошибку наталкивался подскажите что делать. В случае чего тогда уж позже выложу сообщение с конкретным листингом ошибки и можно будет разобрать проблему просто как очередной трабл с компиляцией, не обязательно кваки. Заранее спасибо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Ошибка компиляции quake2"  
Сообщение от masted (ok) on 02-Июн-07, 10:05 
>При компиляции выдается ошибка связанная с функцией LoadPCX и еще какой то
>Load...
Вывод компилятора в студию. У телепатов уже отпуска летнии начались.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Ошибка компиляции quake2"  
Сообщение от igrock (ok) on 05-Июн-07, 10:02 
Версия:    gcc (GCC) 4.1.0 20060304 (Red Hat 4.1.0-3)

Вывод компилятора:
...

cc1: warnings being treated as errors
r_image.c: In function 'LoadPCX':
r_image.c:103: warning: dereferencing type-punned pointer will break strict-aliasing rules

В общем оказалось 2 типа варнингов но как я понял компилятор их считает за ошибки
может такие варнинги можно игнорировать специальными ключами компиляции?

Файл r_image.c:

    byte    *raw;
    ...    
-->    len = ri.FS_LoadFile (filename, (void **)&raw);


Я заменил (void **) на (void *), везде где указывал компилятор (в 12 файлах)

и еще это:     
-->    int tmp = * ( int * ) &f;
    tmp &= 0x7FFFFFFF;
-->    return * ( float * ) &tmp;

заменил на это (в 3 файлах):

-->    int tmp =  ( int ) f;
    tmp &= 0x7FFFFFFF;
-->    return  ( float  ) tmp;

Во втором случае не сращу, кто нибуть может объяснить чем
    интерпретация переменной int как переменной float (на что я заменил)
        отличается от
    интерпретации указателя на int как указателя на float (то что было)
    результат то один :-$

после всех замен откомпилилось нормально ;)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Ошибка компиляции quake2"  
Сообщение от phpcoder (??) on 05-Июн-07, 17:01 
[...]
>cc1: warnings being treated as errors
>r_image.c: In function 'LoadPCX':
>r_image.c:103: warning: dereferencing type-punned pointer will break strict-aliasing rules
>
>В общем оказалось 2 типа варнингов но как я понял компилятор их
>считает за ошибки
>может такие варнинги можно игнорировать специальными ключами компиляции?

Да. Используйте -Wno-strict-aliasing

Ну или в вашем случае, можно собирать без -Werror

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру