Пятница, 22 Ноября 2024, 16:20

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Множественные ошибки при компиляции приложения на HGE
TheDarkletДата: Воскресенье, 30 Сентября 2012, 19:12 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Начал изучать HGE.Всё компилировалось до того как добавились несколько строчек отрисовки спрайта.Работаю в DevC++.
Прилогаю лог:






Сообщение отредактировал Woolfo - Воскресенье, 30 Сентября 2012, 19:44
GECKДата: Воскресенье, 30 Сентября 2012, 19:27 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
hgehelp.lib прилинкована?

Всё гениальное просто. И хреново работает.
TheDarkletДата: Воскресенье, 30 Сентября 2012, 22:08 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Прилинковал все нужные либы - ошибки что были прежде пропали, но теперь опять какая-то фигня.



Прилогаю код игры.Может что-то сам натворил да не вижу...

Code

#include <windows.h>
#include <hge.h>
#include <hgesprite.h>
#include <hgecolor.h>
#include <hgedistort.h>
#include <hgefont.h>

HGE *hge = 0;

struct OBJ{
float x;
float y;
float dir;
float spd;
float hp;
hgeSprite *spr;
};
/*Ãëîáàëüíûå ïåðåìåííûå*/
    HTEXTURE tex_player; //òåêñòóðà èãðîêà
    float mx, my; //êîîðäèíàòû ìûøè
    OBJ hero={400, 300, 0, 5, 100, NULL}; // obj hero {x, y, dir, spd, hp, spr}
/*---------------------*/

bool Update()
{
    if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;
    return false;       
}

bool Render()
{
    hge->Gfx_BeginScene();
    hge->Gfx_Clear(0);
    hero.spr->RenderEx(hero.x,hero.y,hero.dir,1,1);
    hge->Gfx_EndScene();
    return false;
}

int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)

{
    hge = hgeCreate(HGE_VERSION);
    hge->System_SetState(HGE_FRAMEFUNC, Update);
    hge->System_SetState(HGE_WINDOWED, true);
    hge->System_SetState(HGE_USESOUND, false);
    hge->System_SetState(HGE_TITLE, "Tanks");
    if(hge->System_Initiate())
    {
      tex_player=hge->Texture_Load("player.png");
      hero.spr=new hgeSprite(tex_player, 0, 0, 64, 64);
      hero.spr->SetHotSpot(20, 30);
      hero.spr->SetColor(ARGB(255,255,255, 1));                         
      hge->System_Start();
    }
    else
    {   
      MessageBoxA(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
    }
      
    hge->System_Shutdown();
    hge->Release();
      
    return 0;
}

Добавлено (30.09.2012, 22:08)
---------------------------------------------
Может быть DevC++ не совместим с hge?У меня уже мозг вскипел от того, что hge не работает.






Сообщение отредактировал Woolfo - Воскресенье, 30 Сентября 2012, 19:44
SaiteiДата: Воскресенье, 30 Сентября 2012, 22:35 | Сообщение # 4
старожил
Сейчас нет на сайте
Woolfo, на 'LIBC.lib' не ругался?
Quote (Woolfo)
Может быть DevC++ не совместим с hge?

Может быть, точно сказать не могу. На VS 2010 Express работал. Но пришлось игнорировать 'LIBC.lib'...
ArchidoДата: Понедельник, 01 Октября 2012, 04:41 | Сообщение # 5
Сэнсэй
Сейчас нет на сайте
Quote (Woolfo)
Может быть DevC++ не совместим с hge?У меня уже мозг вскипел от того, что hge не работает.

Совместим, возможно просто ты не ту библиотеку прилинковал. Dev C++ использует GCC компилятор и нужно прилинковать только единственную "libhge.a" и никакие другие.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
TheDarkletДата: Понедельник, 01 Октября 2012, 19:43 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Quote
Woolfo, на 'LIBC.lib' не ругался?

Я же показал полный лог.Подобной библиотеки нет.
Quote
Совместим, возможно просто ты не ту библиотеку прилинковал. Dev C++ использует GCC компилятор и нужно прилинковать только единственную "libhge.a" и никакие другие.

Прилинковал единственную libhge.a, теперь лог как на первом скрине.Точь в точь...Если честно, достал меня уже этот hge.




Vq_SetДата: Понедельник, 01 Октября 2012, 19:56 | Сообщение # 7
частый гость
Сейчас нет на сайте
Слов просто нет, берутся делать игры, хотя не умеют даже линковать библиотеки, facepalm*
Короче, добавь вот это после подключения заголовков:
Code

#pragma comment (lib, "hgehelp.lib");


Точно также с остальными необходимыми.
TheDarkletДата: Понедельник, 01 Октября 2012, 22:37 | Сообщение # 8
почетный гость
Сейчас нет на сайте
Quote
Слов просто нет, берутся делать игры, хотя не умеют даже линковать библиотеки, facepalm*
Короче, добавь вот это после подключения заголовков:


Сударь, пройдите на диванчик.Вы думаете я не пользовался тем куском кода, что вы выложили?Линковать?Господи...Говорю же, всё прилинкованно, но не работает сам hge.




НохчиДата: Вторник, 02 Октября 2012, 01:12 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Woolfo, прилинкуй эту.

Многие вопросы по Windows отпадут, если посмотреть тут
ArchidoДата: Вторник, 02 Октября 2012, 05:39 | Сообщение # 10
Сэнсэй
Сейчас нет на сайте
Woolfo
А у тебя, кстати, какая версия HGE - 1.8.1 (последняя) ? У меня Code::Blocks + GCC спокойно все скомпилил с единственной "libhge.a", ранние версии вроде требовали еще одну, о которой Нохчи написал. В офф. документации даже есть инфа как настраивать HGE в Dev C++


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Вторник, 02 Октября 2012, 05:39
TheDarkletДата: Вторник, 02 Октября 2012, 17:53 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Нохчи, спасибо!Прилинковал эту либу и всё компилится без проблем, хотя до этого линковал либу с таким же названием, которая лежала в hge и не работало.
Archido, до этого старее версия была.Сейчас 1.8.1.Спасибо за инфу!

Высказываю своё спасибо всем, кто пытался помочь.




  • Страница 1 из 1
  • 1
Поиск:

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