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

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

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

Студворк — интернет-сервис помощи студентам
Всем привет.
Я новичок по 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
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 namespace std; int main() { ...

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

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

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

У меня помогло
0
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
22.07.2020, 16:46
Цитата Сообщение от KotBegemot74 Посмотреть сообщение
не знаю 64-bit компилятор писал какой-то идиот, или что-то с движком hge там конфликтует..
Просто авторская сборка была только под 32-битную платформу. 32-битные библиотеки нельзя использовать в 64-битной программе - это ограничение архитектуры. Если нужно использовать в 64-х битах, то придется собрать такую версию самостоятельно. По отдельности с компилятором и движком все нормально, идиотов нет с обеих сторон
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2020, 16:46
Помогаю со студенческими работами здесь

Ошибка undefined reference to
При сборке выбивает ошибку: undefined reference to `Atom:: DoBCC(float, int, int, int)'. Ткните носом, пожалуйста, где ошибка. Заранее...

Ошибка:undefined reference to
Программа выдает ошибку: строки 11,13,13,14 undefined reference to " имя соответствующей функции"; С чем это может быть связано? ...

ошибка undefined reference to
Всем привет! подскажите, пожалуйста, почему выскакивает ошибка: undefined reference to `Thread::setCompleted()' collect2: ld...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru