Форум программистов, компьютерный форум, киберфорум
SFML
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/58: Рейтинг темы: голосов - 58, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 02.08.2014
Сообщений: 90

Как заинклудить SFML что бы работало?

24.04.2015, 16:29. Показов 11255. Ответов 73
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь заинклудить SFML(установил по инструкции) так(компилер кодблокс):
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
#include <SFML/Graphics.hpp>
 
int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);
 
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
 
        window.clear();
        window.draw(shape);
        window.display();
    }
 
    return 0;
}
Это файл из примера. Инклудится но при вызове любой функции "undefined reference".
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.04.2015, 16:29
Ответы с готовыми решениями:

SFML в C::B пытается что-то найти в D:\sfml-release\ которого нет
Добрый день, вторые сутки пытаюсь подключить SFML библиотеку к C::B. При подключении по мануалу с офф сайта любой версии SFML к любой...

Что мне сделать что бы работало как надо
Почему повторяется пункт 1. Что мне сделать что бы шел пункт 2 до того что i_EnemyHealth &lt;= 0? private void...

Как же мне сделать что бы работало
Здравствуйте товарищи форумчане)) Я учусь програмированию на языке &quot;с++&quot; и вот в книжке я столкнулся с проблемой Какой мне создавать...

73
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
25.04.2015, 14:57
Студворк — интернет-сервис помощи студентам
Похоже придется видео писать , потому как явно что-то не то либо с путями до компилера\библиотеки либо вы что-то не так делаете.Чуть позже вышлю лс.
1
0 / 0 / 0
Регистрация: 02.08.2014
Сообщений: 90
25.04.2015, 15:02  [ТС]
Было бы очень здорово.
НУ ВОТ Я ЕГО ТАКИ ПОСТАВИЛ.Со сборкой от lss и всеми .dll в папке проекта!Всё пример компилится!Всем спасибо!
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.04.2015, 15:06
Цитата Сообщение от lss Посмотреть сообщение
Там нужно компилятор под сборку SFML подобрать. Хорошо, что у меня mignw много разных, перебирал (при одних настройках) пока на заработало.
Для этого есть исходники. Сборка SFML из исходников занимает столько времени, что быстрее будет собрать SFML своим компилятором и не париться.
Я еще и файл проекта SFML в CodeBlocks переписал
0
0 / 0 / 0
Регистрация: 02.08.2014
Сообщений: 90
25.04.2015, 15:08  [ТС]
Я нуб так что не знаю как собирать что из исходников толком.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
25.04.2015, 19:24
Цитата Сообщение от Croessmah Посмотреть сообщение
Для этого есть исходники. Сборка SFML из исходников занимает столько времени, что быстрее будет собрать SFML своим компилятором и не париться.
Сейчас попробовал собрать SFML 2.2 из исходников, компилятором mingw 4.7.1 (родной для среды). Всё собралось. Подключил в Code Blocks 13. Проект компилируется. Все dll компилятора (из папки bin) поместил в папку проекта. При запуске выдаёт сообщение (на скрине). Беру эту libstdc++-6.dll от другого компилятора: x32-4.8.1-win32-sjlj-rev5, тогда нормально запускается. Croessmah, что не так?
Миниатюры
Как заинклудить SFML что бы работало?  
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
26.04.2015, 01:26
Нет этой проблемы с компиляторами, у которых в папке bin есть libwinpthread-1.dll.

Добавлено через 6 минут
Хотя утверждать, что причина в этом, трудно, потому что наборы dll в разных компиляторах разные.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
27.04.2015, 17:47
При сборке, из исходников, статических либ SFML, компиляторами mingw, непонятно, как настроить сборку libfreetype.a, libglew.a, libjpeg.a, libopenal32.a, libsndfile.a, которые присутствуют в готовых сборках.

Добавлено через 3 часа 58 минут
Цитата Сообщение от lss Посмотреть сообщение
как настроить сборку libfreetype.a, libglew.a, libjpeg.a, libopenal32.a, libsndfile.a, которые присутствуют в готовых сборках.
С этим, если можно так сказать, разобрался. Эти библиотеки лежат в папке extlibs, исходников SFML.
Но, при подключении libglew.a, и сборке проекта, линкер выдаёт ошибки:
D:\CodeBlocks\SFML_4\/libglew.a(glew.c.o): glew.c: (.text+0x15262): undefined reference to `wglGetCurrentDC@0'
D:\CodeBlocks\SFML_4\/libglew.a(glew.c.o): glew.c: (.text+0x152f0): undefined reference to `wglGetCurrentDC@0'
0
 Аватар для smartpointer
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
28.04.2015, 02:06
Цитата Сообщение от lss Посмотреть сообщение
С этим, если можно так сказать, разобрался. Эти библиотеки лежат в папке extlibs, исходников SFML.
Но, при подключении libglew.a, и сборке проекта, линкер выдаёт ошибки:
Не уверен что поможет, но попробуй так
C++
1
2
3
extern "C" {
#include <glew.h>
}
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
28.04.2015, 02:38
Нет, тут что-то другое. Линкер же не насчёт моего кода ошибку выдаёт, а насчёт самой библиотеки:
Цитата Сообщение от lss Посмотреть сообщение
ibglew.a(glew.c.o): glew.c:
Добавлено через 7 минут
Собрал эту glew тем же компилятором, что и статик либы SFML, ошибка изменилась:
D:\CodeBlocks\SFML_4\/libsfml-graphics-s.a(GLExtensions.cpp.obj):GLExtensions.c pp: (.text+0x21): undefined reference to `glewInit'
D:\CodeBlocks\SFML_4\/libsfml-graphics-s.a(GLExtensions.cpp.obj):GLExtensions.c pp: (.text+0x44): undefined reference to `glewGetErrorString'
Добавлено через 4 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
Для этого есть исходники. Сборка SFML из исходников занимает столько времени, что быстрее будет собрать SFML своим компилятором и не париться.
Croessmah, что молчишь?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
28.04.2015, 06:10
Цитата Сообщение от lss Посмотреть сообщение
Croessmah, что молчишь?
работы много, некогда писюльками заниматься
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
28.04.2015, 13:16
Цитата Сообщение от Croessmah Посмотреть сообщение
работы много, некогда писюльками заниматься
Ну, да... Как советовать самим SFML собирать - это мы можем, а как помочь, то работы много.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
28.04.2015, 19:15
Цитата Сообщение от lss Посмотреть сообщение
Как советовать самим SFML собирать - это мы можем
угу, на это нужно секунд 30.
Цитата Сообщение от lss Посмотреть сообщение
а как помочь, то работы много.
угу, из-за ремонта до компа с виндой не добраться приблиительно до 12 мая.

Да и я смотрю Вы напомогались, только бестолку...
GLEW в стати собирали? Тогда надо GLEW_STATIC препроцессору поднести. Библиотеки линкеру указали в правильном порядке? При неправильном порядке будет как раз undefined reference. Собирали SFML нормально или на авось?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
28.04.2015, 19:41
Вроде нашел какой-то проект. В общем случае для статической линковки:





SFML собиралась MinGW 4.7.2
Не нужные для конкретного проекта библиотеки можно убрать из параметров линкера.
Не забудьте поставить prepend target (тоже выделено овалом на скриншотах).

Если ошибки с такими параметрами, то пишите список.
1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
29.04.2015, 15:35
Цитата Сообщение от Croessmah Посмотреть сообщение
Да и я смотрю Вы напомогались, только бестолку...
Почему же бестолку?
Цитата Сообщение от Ed_Os Посмотреть сообщение
Со сборкой от lss и всеми .dll в папке проекта!Всё пример компилится!Всем спасибо!
Это я уже для себя разбираюсь.
Цитата Сообщение от Croessmah Посмотреть сообщение
Если ошибки с такими параметрами, то пишите список.
Вот лог (release):
i686-pc-mingw32-g++.exe -DGLEW_STATIC -DSFML_STATIC -DUNICODE -O2 -g -ID:\Programs\SFML-2.2-sources\SFML-2.2\include -ID:\Programs\MingW\mingw32-gcc-4.6.3-release-c_c++_fortran-sjlj\mingw\include -c D:\CodeBlocks\SFML_4\main.cpp -o obj\Release\main.o
i686-pc-mingw32-g++.exe -LD:\CodeBlocks\SFML_4\ -LD:\Programs\MingW\mingw32-gcc-4.6.3-release-c_c++_fortran-sjlj\mingw\lib -o bin\Release\SFML_4.exe obj\Release\main.o -s -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lsndfile -lopenal32 -ljpeg -lglew32 -lfreetype -lws2_32 -lgdi32 -lopengl32 -lglu32 -lwinmm
D:\CodeBlocks\SFML_4\/libsfml-graphics-s.a(GLExtensions.cpp.obj):GLExtensions.c pp: (.text+0x21): undefined reference to `glewInit'
D:\CodeBlocks\SFML_4\/libsfml-graphics-s.a(GLExtensions.cpp.obj):GLExtensions.c pp: (.text+0x44): undefined reference to `glewGetErrorString'
collect2: ld returned 1 exit status
Добавлено через 3 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
Собирали SFML нормально или на авось?
Как понять? Нормально или не нормально, но с динамическими либами проблем нет. Статические так же собирал.

Добавлено через 17 часов 16 минут
Собралось с этими настройками, с libglew.a, поставляемой с исходниками SFML 2.2. Наличие или отсутствие GLEW_STATIC - никак не влияет на результат сборки.

Добавлено через 13 минут
С этой библиотекой я пробовал собирать:
Цитата Сообщение от lss Посмотреть сообщение
Но, при подключении libglew.a, и сборке проекта, линкер выдаёт ошибки:
D:\CodeBlocks\SFML_4\/libglew.a(glew.c.o): glew.c: (.text+0x15262): undefined reference to `wglGetCurrentDC@0'
D:\CodeBlocks\SFML_4\/libglew.a(glew.c.o): glew.c: (.text+0x152f0): undefined reference to `wglGetCurrentDC@0'
Ошибка возникала из-за того, что, в списке подключений, glew была расположена ниже opengl32. В студии это проходило, а с mingw не прошло.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2015, 15:35
Помогаю со студенческими работами здесь

как зделать так что бы функция не работало
Привет всем!:) У меня вот такая проблемка: как зделать так что бы когда мне надо определённй код не работал вот я делаю так: if...

Подскажите пожалуйста, как прописать что бы работало
Здравствуйте! Вообщем нужен скрипт что бы при нажатии на кнопку рандомно выбиралась пара(текст + картинка) И выводились на страничке. Как...

Как сделать так чтоб работало? Что с компилятором?
ошибка: No such file or directory #include &lt;iostream&gt; using namespace std; int main() {const int n=15; int i;double...

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

Как настроть Microsoft IIS что-бы на нем работало JSP?
Как настроть Microsoft IIS что-бы на нем работало JSP?


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

Или воспользуйтесь поиском по форуму:
74
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru