Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 11
1

Почему происходит ошибка undefined reference to hgeCreate

26.01.2016, 09:02. Показов 1907. Ответов 8

Author24 — интернет-сервис помощи студентам
Всем привет.
Я новичок по C++ и недавно решил освоить разработку игр. Скачал с интернета 2D движок для графики HGE, однако никак не могу скомпилировать даже пример, ибо компилятор ругается.
Код примера:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "include/hge.h"
HGE *hge = 0;
 
bool FrameFunc()
{
    if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;
    return false;
}
 
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    hge = hgeCreate(HGE_VERSION);
    hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);
    hge->System_SetState(HGE_WINDOWED, true);
    hge->System_SetState(HGE_USESOUND, false);
    hge->System_SetState(HGE_TITLE,
                 "HGE Tutorial 01 - Minimal HGE application");
    if(hge->System_Initiate())
    {
        hge->System_Start();
    }
    else
    {
        MessageBox(NULL, hge->System_GetErrorMessage(), "Error",
        MB_OK | MB_ICONERROR | MB_SYSTEMMODAL);
    }
    hge->System_Shutdown();
    hge->Release();
    return 0;
}
Ошибка:
main.cpp.text+0x5d): undefined reference to `hgeCreate
, использую Dev-C++ 5.11.
Интересует, что значит эта ошибка.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2016, 09:02
Ответы с готовыми решениями:

Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status
Здравствуйте. Вот недавно начал изучать книгу "С++ для чайников" Стефан Р. Девис 4-е издание. И...

Undefined reference to или почему не определена функция в Eclipce
Здравствуйте! Пишу в Еклипсе в общем проблема такая, прикрутил готовый модуль, но его функции...

Ошибка undefined reference to
main.cpp #include <locale> #include <iostream> #include <Windows.h> #include "Class.h" using...

Ошибка undefined reference to
При сборке выбивает ошибку: undefined reference to `Atom:: DoBCC(float, int, int, int)'. Ткните...

8
управление сложностью
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
26.01.2016, 09:26 2
Цитата Сообщение от MegProg Посмотреть сообщение
#include "include/hge.h"
Вот тут ошибка. Пробуйте:
C++
1
#include "hge.h"
А вам не рано с такими познаниями за игры браться ?
0
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 11
26.01.2016, 09:36  [ТС] 3
Там нет ошибки. Все заголовочные файлы лежат внутри папки include, которая в свою очередь находится в папке с проектом. Да и компилятор на эту строку не ругается. Он мне пишет ошибку в строке №12.
Может мне и действительно рано за игры браться, однако уж слишком затянулось у меня изучение этого языка.
0
управление сложностью
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
26.01.2016, 09:51 4
Ну вы же объявляете указатель на hge ?
Тогда может:
C++
1
hge = new hgeCreate(HGE_VERSION)
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
26.01.2016, 09:57 5
MegProg, а библиотеки нужные все подлинкованы?
0
24 / 24 / 9
Регистрация: 18.12.2012
Сообщений: 194
27.01.2016, 23:32 6
Вообще-то компилятор не может понять, что такое
Цитата Сообщение от MegProg Посмотреть сообщение
hgeCreate
. Думаю, что проблема в том, что не правильно подтянута библиотека
0
Неэпический
18099 / 10685 / 2061
Регистрация: 27.09.2012
Сообщений: 26,895
Записей в блоге: 1
28.01.2016, 13:39 7
Цитата Сообщение от MegProg Посмотреть сообщение
undefined reference to `hgeCreate
Укажите линкеру на библиотеки
libhge.a
libhgehelp.a
0
0 / 0 / 0
Регистрация: 22.07.2020
Сообщений: 1
22.07.2020, 13:55 8
Короче, нашел в чем проблема. Это косяк именно Dev-C++ 5 версий.

Проблема решается сменой компилятора (не знаю 64-bit компилятор писал какой-то идиот, или что-то с движком hge там конфликтует..)

Как решать: заходишь с верхнего меню "Проект"->"Параметры проекта" (кст. у меня русскоязычная версия, если у тебя другая - переведи соответственно) там во вкладке "Компилятор" поменяй компилятор на "TDM-GCC 4.7.1 32-bit Release"

У меня помогло
0
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
22.07.2020, 16:46 9
Цитата Сообщение от KotBegemot74 Посмотреть сообщение
не знаю 64-bit компилятор писал какой-то идиот, или что-то с движком hge там конфликтует..
Просто авторская сборка была только под 32-битную платформу. 32-битные библиотеки нельзя использовать в 64-битной программе - это ограничение архитектуры. Если нужно использовать в 64-х битах, то придется собрать такую версию самостоятельно. По отдельности с компилятором и движком все нормально, идиотов нет с обеих сторон
0
22.07.2020, 16:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2020, 16:46
Помогаю со студенческими работами здесь

Ошибка:undefined reference to
Программа выдает ошибку: строки 11,13,13,14 undefined reference to " имя соответствующей...

ошибка undefined reference to
Всем привет! подскажите, пожалуйста, почему выскакивает ошибка: undefined reference to...

Ошибка undefined reference to
Пишу регистрацию класса окна. Для установки фона произвольного цвета фона использую...

Ошибка undefined reference to
Взял пример из учебника С++ изнутри (Вайнер), но при попытке скомпилировать программу, возникают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru