Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Linker Fatal Error] ? не могу понять ошибки 
:(
    Опции темы
atam91
Дата 18.11.2007, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.8.2007

Репутация: нет
Всего: нет



[Linker Fatal Error] Fatal:Oject file ...\MODEL.OBJ is missing a section of class 2
помогите пожалуйста у меня вылетает такая ошибка

есть файл model.cpp там две процедуры
и файл со структурами Texture.h

при компиляции программы выдает эту ошибку и даже не понятно как к ней подойдти что сделать
помогите пожалуйста.
PM MAIL   Вверх
JackYF
Дата 19.11.2007, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 4
Всего: 162



Цитата(atam91 @  18.11.2007,  22:11 Найти цитируемый пост)
есть файл model.cpp там две процедуры
и файл со структурами Texture.h

ну так выкладывай оба файла сюда.

Компилятор какой?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
lenin_yo
Дата 19.11.2007, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



С таким "детальным" описанием довольно сложно догнать до истиной причины проблемы..
PM MAIL   Вверх
Lazin
Дата 19.11.2007, 09:06 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 18
Всего: 154



Это какой-то баг билдера, удали все obj и tds файлы, и попробуй пересобрать проект.
PM MAIL Skype GTalk   Вверх
atam91
Дата 19.11.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.8.2007

Репутация: нет
Всего: нет



вообще мне сказали что проблема в H файлах
я вроде навел порядок но
[C++ Error] model.h(24): E2303 Type name expected

model.h
Код


#ifndef __model_H__
#define __model_H__

#include "Texture.h"






struct Vertexx
{
  float x,y,z,u,v;
  char bone;
};

struct Triangless
{
  int nump[3];
  
};

struct matER
{
  Texture dift[1];

};

struct Meshh
{
  Vertexx *point;
  Triangless *triang;

  int numPoi,numTri,iMat,nNorm;
};

struct Modell
{
   matER *Mater;
   Meshh *Mesh;

   int numMes,numMat,cFrame;
   
};


#endif


Texture.h
Код

#ifndef __TEXTURE_H__
#define __TEXTURE_H__

                                        
#include "engine.h"                                    


struct Texture{
    GLubyte    * imageData;                                    
    GLuint    bpp;                                            
    GLuint    width;                                        
    GLuint    height;                                        
    GLuint    texID;                                
    GLuint    type;                                    
} ;



#endif


PM MAIL   Вверх
JackYF
Дата 19.11.2007, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 4
Всего: 162



Цитата(atam91 @  19.11.2007,  16:52 Найти цитируемый пост)
[C++ Error] model.h(24): E2303 Type name expected

ты что-то вырезал из исходников? если да, то укажи руками, на какую строку ругается компилятор.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
atam91
Дата 19.11.2007, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.8.2007

Репутация: нет
Всего: нет



просто старый файл выкинул
а ругается она на 25 строку

Texture dift[1];
PM MAIL   Вверх
atam91
Дата 21.11.2007, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.8.2007

Репутация: нет
Всего: нет



что никто не знает что ли?
PM MAIL   Вверх
JackYF
Дата 21.11.2007, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 4
Всего: 162



Цитата(atam91 @  21.11.2007,  21:41 Найти цитируемый пост)
что никто не знает что ли? 

не должно ругаться... попробуй вырезать из исходников как больше, чтобы осталась ситуация, когда компилер ругается. Это выложи, я попробую скомпилить у себя.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
atam91
Дата 22.11.2007, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.8.2007

Репутация: нет
Всего: нет



сейчас не дождавшись ответа я решил  сделать все подругому согнать все в один модуль
Код

#ifndef __engine_H__
#define __engine_H__

#include <fstream.h>

#include <gl\gl.h>    // OpenGL32
 #include <gl\glu.h>    // OpenGL32


struct Texture{
    GLubyte    * imageData;                                    // Image Data (Up To 32 Bits)
    GLuint    bpp;                                            // Image Color Depth In Bits Per Pixel
    GLuint    width;                                            // Image Width
    GLuint    height;                                            // Image Height
    GLuint    texID;                                            // Texture ID Used To Select A Texture
    GLuint    type;                                            // Image Type (GL_RGB, GL_RGBA)
} ;




struct Vertexx
{
  float x,y,z,u,v;
  char bone;
};

struct Triangless
{
  int nump[3];
  //в будущем тут нормали
};

struct matER
{

  Texture dift[1];

};

struct Meshh
{
  Vertexx *point;
  Triangless *triang;

  int numPoi,numTri,iMat,nNorm;
};

struct Modell
{
   matER *Mater;
   Meshh *Mesh;

   int numMes,numMat,cFrame;
   //materials here
};
 //-------------------------------------------------------------------------
HGLRC ghRC;
HDC   ghDC;

float maxx=60,minx=-60,maxy=60,maxz=60,miny=-60,minz=-60;
  //-------------------------------------------------------------------------
  typedef struct
{
      int size,xstep,ystep,zstep;
      byte *height;
} landsh;

//TGA GAGAGA

typedef struct
{
    GLubyte Header[12];                                    // TGA File Header
} TGAHeader;


typedef struct
{
    GLubyte        header[6];                                // First 6 Useful Bytes From The Header
    GLuint        bytesPerPixel;                            // Holds Number Of Bytes Per Pixel Used In The TGA File
    GLuint        imageSize;                                // Used To Store The Image Size When Setting Aside Ram
    GLuint        temp;                                    // Temporary Variable
    GLuint        type;
    GLuint        Height;                                    //Height of Image
    GLuint        Width;                                    //Width ofImage
    GLuint        Bpp;                                    // Bits Per Pixel
} TGA;


TGAHeader tgaheader;                                    // TGA header
TGA tga;                                                // TGA image data



GLubyte uTGAcompare[12] = {0,0,2, 0,0,0,0,0,0,0,0,0};    // Uncompressed TGA Header
GLubyte cTGAcompare[12] = {0,0,10,0,0,0,0,0,0,0,0,0};    // Compressed TGA Header
bool LoadUncompressedTGA(Texture *, char *, FILE *);    // Load an Uncompressed file
bool LoadCompressedTGA(Texture *, char *, FILE *);        // Load a Compressed file
//*********************************************************



#endif



и этот файл я несколько раз подключаю   ПОДКЛЮЧАЮ только его
а он говрит что 2 раза объявляется gl.h я не пониаю define прописан как у меня так и в гл
вот
PM MAIL   Вверх
JackYF
Дата 22.11.2007, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 4
Всего: 162



Цитата(atam91 @  22.11.2007,  00:05 Найти цитируемый пост)
а он говрит что 2 раза объявляется gl.h я не пониаю define прописан как у меня так и в гл
вот 

вроде всё правильно у тебя. К сожалению, возможно, это глюк билдера. У него иногда подобное бывает - не хочет компилироваться вполне законный код.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
atam91
Дата 22.11.2007, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.8.2007

Репутация: нет
Всего: нет



и что мне делать
PM MAIL   Вверх
xvr
Дата 22.11.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(atam91 @ 22.11.2007,  00:05)
сейчас не дождавшись ответа я решил  сделать все подругому согнать все в один модуль
Код

#ifndef __engine_H__
#define __engine_H__

#include <fstream.h>

#include <gl\gl.h>    // OpenGL32
 #include <gl\glu.h>    // OpenGL32

#endif



и этот файл я несколько раз подключаю   ПОДКЛЮЧАЮ только его

Выкини #include <gl\gl.h> (glu.h) достаточно

Цитата

Код

HGLRC ghRC;
HDC   ghDC;

float maxx=60,minx=-60,maxy=60,maxz=60,miny=-60,minz=-60;

Помещать описания переменных в ридеры - дурной тон smile
Цитата

а он говрит что 2 раза объявляется gl.h я не пониаю define прописан как у меня так и в гл
вот
Ничего не понял - как дословно ругается?
PM MAIL   Вверх
atam91
Дата 22.11.2007, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.8.2007

Репутация: нет
Всего: нет



а где мне тогда константы прописывать если это плохой тон?
PM MAIL   Вверх
xvr
Дата 22.11.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(atam91 @ 22.11.2007,  21:44)
а где мне тогда константы прописывать если это плохой тон?

Это не константы - это переменные, и если будет больше одного модуля, где подключается этот .h файл, то будет ругань от линкера по поводу double definition

Цитата

Код

HGLRC ghRC;
HDC   ghDC;


Это вообще в чистом виде переменные

Цитата

Код

float maxx=60,minx=-60,maxy=60,maxz=60,miny=-60,minz=-60;


Если это должны быть константы, то так и пиши

Код

static const float maxx=60,minx=-60,maxy=60,maxz=60,miny=-60,minz=-60;


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1168 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.