Четверг, 28 Марта 2024, 13:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Проблемы с release версий (Подробности в теме)
Проблемы с release версий
KornivalДата: Понедельник, 22 Ноября 2010, 19:05 | Сообщение # 1
The Witcher
Сейчас нет на сайте
У меня какая-то странная проблема-в проекте два .cpp файла, один подключает другой директивой inсlude и их компиляция идет нормально, но при сборке выскакивает куча ошибок связанных с линкованием. Самое интересно что если вручную запихнуть содержимое одного файла в другой, то все работает нормально. А если поставить debug режим все работает в любом случае. Если кто-нить знает в чем проблема отпишитесь пожалуйста. Хранит весь код в одном файле не удобно cry
Код обоих файлов под спойлером
ezhickovichДата: Понедельник, 22 Ноября 2010, 19:24 | Сообщение # 2
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Quote (Kornival)
У меня какая-то странная проблема-в проекте два .cpp файла, один подключает другой директивой inсlude

Это идиотизм...

Нормальные люди инклудят хедеры... (в них они объявляют функции, а затем реализуют их в CPP файлах)
пример:

Code
// foo.h
#ifndef FOO_H
#define FOO_H
void foo ();
#endif /* FOO_H */

Code
// foo.cpp
#include "foo.h"
#include <cstdio>
void foo ()
{
      printf ("FOO\n");
}

Code
// main.cpp
#include "foo.h"
int main ()
{
      foo ();
      return 0;
}



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
KornivalДата: Понедельник, 22 Ноября 2010, 19:41 | Сообщение # 3
The Witcher
Сейчас нет на сайте
Quote (ezhickovich)
Это идиотизм...

Ах вот оно что biggrin
Quote (ezhickovich)
Нормальные люди инклудят хедеры...

Я знаю, просто не подумал что из-за этого могут быть ошибки smile
Спасибо тебе.

Добавлено (22.11.2010, 19:41)
---------------------------------------------
P.S.
что означает слово CALL в следующей строке

Code

virtual void CALL    System_Shutdown();
ezhickovichДата: Понедельник, 22 Ноября 2010, 19:55 | Сообщение # 4
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Quote (Kornival)
virtual void CALL    System_Shutdown();

Я не телепат...
Скорее всего это скорее всего это макрос... (если ты под студией, то должны подсвечиваться определения макросов... P.S. я не под студией...)

Добавлено (22.11.2010, 19:55)
---------------------------------------------
Ну по крайней мере в 2010 студии так...
Хотя в любом случае можно перейти к определению...



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
KornivalДата: Понедельник, 22 Ноября 2010, 19:57 | Сообщение # 5
The Witcher
Сейчас нет на сайте
Quote (ezhickovich)
Скорее всего это скорее всего это макрос... (если ты под студией, то должны подсвечиваться определения макросов... P.S. я не под студией...)

Я под code::blocks, а это не макрос а а метод класса. Знаешь что значит CALL?
ezhickovichДата: Понедельник, 22 Ноября 2010, 20:30 | Сообщение # 6
[Великий и могучий хозяинъ]
Сейчас нет на сайте
CALL - макрос smile


Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
KornivalДата: Понедельник, 22 Ноября 2010, 20:47 | Сообщение # 7
The Witcher
Сейчас нет на сайте
Quote (ezhickovich)
CALL - макрос

Точно, нашел
Code

#define CALL  __stdcall
Форум игроделов » Программирование » C/C++ » Проблемы с release версий (Подробности в теме)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг