С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
SFML
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Nikolpix
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 7
1

C++ SFML Необработанное исключение по адресу

09.04.2016, 16:49. Просмотров 1246. Ответов 10
Метки c++, sfml (Все метки)

Решил изучать C++ и библиотеку SFML. Использую среду разработки Microsoft Visual Studio 2013. Захотел вывести текст на экран. В режиме Debug выскакивала ошибка "Необработанное исключение по адресу 0x00...". Заработало только в режиме Release. Потом понадобилось чтобы на экране выводилось время с момента запуска программы. Написал такой код:
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
31
32
33
34
35
36
37
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
 
using namespace ::sf;
 
int main()
{
    RenderWindow window(VideoMode(1000, 500), "Testing");
 
    Font font;
    font.loadFromFile("arial.ttf");
    Text txt("Time: ", font, 20);
    txt.setColor(Color::Red);
    txt.setPosition(10, 10);
    Clock clock;
    Int64 time;
 
    while (window.isOpen())
    {
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
        }
 
        time = (clock.getElapsedTime()).asMilliseconds();
        txt.setString("Time: " + std::to_string(time));
 
        window.clear(Color(255, 255, 255, 255));
        window.draw(txt);
        window.display();
 
    }
 
    return 0;
}
Выдаёт ошибку "Необработанное исключение по адресу 0x000007FEF00A6022 (sfml-graphics-2.dll) в Texting.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x0000000000000003."
Подскажите в чём проблема, пожалуйста.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2016, 16:49
Ответы с готовыми решениями:

Необработанное исключение по адресу. SFML и потоки
Доброго времени суток. При написании игры возникла такая задача: есть основное...

Часто или иногда вызывается исключение по адресу 0x00007FF82427B760 (sfml-graphics-2.dll) | ошибка в srand(time(0)
С неопределённой вероятностью я получаю ошибку в различных местах моего кода...

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

Создание релиза exe файла SFML C++ на VS 2017 (не удается открыть входной файл "sfml-graphics-s.lib")
не могу собрать решение релиз версии, не пойму что я делаю не так постоянно...

Необработанное исключение по адресу, нарушение прав доступа при записи по адресу
вот само задание: Авиарейсы (номер рейса, пункт назначения, время вылета, дата...

10
Koleco
0 / 0 / 0
Регистрация: 08.04.2016
Сообщений: 11
09.04.2016, 17:06 2
..\SFML-2.0\bin
Оттуда скопируй файл sfml-graphics-2 в свой проект
0
Croessmah
++Ͻ
14777 / 8453 / 1605
Регистрация: 27.09.2012
Сообщений: 20,804
Записей в блоге: 2
Завершенные тесты: 1
09.04.2016, 17:45 3
Цитата Сообщение от Nikolpix Посмотреть сообщение
В режиме Debug выскакивала ошибка "Необработанное исключение по адресу 0x00...". Заработало только в режиме Release.
Для debug нужны отладочные библиотеки. Они с суффиксом d, Например, sfml-windows-d
0
Nikolpix
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 7
09.04.2016, 19:38  [ТС] 4
И в папке Debug, и в папке Release лежат полные наборы dll файлов (и с суффиксом d, и без него). Текст выводится только в Release, а код, предоставленный в топике, не запускается ни в Debug, ни в Release.
0
Croessmah
++Ͻ
14777 / 8453 / 1605
Регистрация: 27.09.2012
Сообщений: 20,804
Записей в блоге: 2
Завершенные тесты: 1
09.04.2016, 19:50 5
Соберите SFML с помощью используемого Вами компилятора.

P.S. И не забывайте обрабатывать ошибки
0
Nikolpix
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 7
09.04.2016, 20:07  [ТС] 6
Извините за такой нубский вопрос, но что значит "собрать SFML"? Если имеется в виду настроить проект для использования SFML, то всё у меня уже настроено:
- в "Проект -> Свойства -> C/C++ -> Общие -> Дополнительные каталоги" добавлен путь к ...\SFML-2.3.2\include
- в "Компоновщик -> Общие" добавлен путь к ...\SFML-2.3.2\lib
- в "Компоновщик -> Ввод" добавлены:
sfml-audio.lib
sfml-graphics.lib
sfml-main.lib
sfml-network.lib
sfml-system.lib
sfml-window.lib
sfml-graphics-d.lib
sfml-window-d.lib
sfml-system-d.lib
sfml-audio-d.lib
- в папках Debug и Release с exe файлами проекта лежат
msvcp100d.dll
msvcp110.dll
msvcp110d.dll
msvcr100d.dll
msvcr110.dll
msvcr110d.dll
openal32.dll
sfml-audio-2.dll
sfml-audio-d-2.dll
sfml-graphics-2.dll
sfml-graphics-d-2.dll
sfml-network-2.dll
sfml-network-d-2.dll
sfml-system-2.dll
sfml-system-d-2.dll
sfml-window-2.dll
sfml-window-d-2.dll
- в папках с файлом main.cpp лежит файл шрифта arial.ttf, который используется в проекте.
- во вкладке "C/C++ -> Препроцессор" писал и SFML_STATIC, и SFML_DYNAMIC, и просто пустым оставлял, ноль результата.
0
Croessmah
++Ͻ
14777 / 8453 / 1605
Регистрация: 27.09.2012
Сообщений: 20,804
Записей в блоге: 2
Завершенные тесты: 1
09.04.2016, 20:14 7
Цитата Сообщение от Nikolpix Посмотреть сообщение
но что значит "собрать SFML"?
Из исходников собрать (скомпилировать, слинковать).
Цитата Сообщение от Nikolpix Посмотреть сообщение
добавлены
Debug и Release библиотеки так и перемешаны в кучу в параметрах линкера?
Debug и Release конфигурации настраиваются отдельно!
0
Nikolpix
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 7
09.04.2016, 20:23  [ТС] 8
Debug и Release конфигурации настроены отдельно.

Зашёл в "Сборка -> Собрать решение", мне написало:
1>------ Сборка начата: проект: Texting, Конфигурация: Release x64 ------
1> main.cpp
1> Создание кода
1> Создание кода завершено
1> Texting.vcxproj -> C:\Users\...\documents\visual studio 2013\Projects\Texting\x64\Release\Texting.exe
========== Сборка: успешно: 1, с ошибками: 0, без изменений: 0, пропущено: 0 ==========

Однако при попытке запустить отладчик пишет ошибку "Необработанное исключение по адресу..."

И ещё забыл добавить, что когда я пишу код просто для выведения текста:
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
31
32
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
 
using namespace ::sf;
 
int main()
{
    RenderWindow window(VideoMode(1000, 500), "Testing");
 
    Font font;
    font.loadFromFile("arial.ttf");
    Text txt("Hello world!", font, 20);
    txt.setColor(Color::Red);
    txt.setPosition(10, 10);
 
    while (window.isOpen())
    {
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
        }
 
        window.clear(Color(255, 255, 255, 255));
        window.draw(txt);
        window.display();
 
    }
 
    return 0;
}
то отладчик нормально запускается, на окне есть текст, но после закрытия окна выскакивает:
"В Texting.exe возникло переполнение буфера, что привело к повреждению внутреннего состояния программы. Нажмите кнопку "Прервать", чтобы отладить программу, или кнопку "Продолжить", чтобы завершить программу."
Может ли это как-нибудь связано с проблемой?
0
nd2
2838 / 2405 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
09.04.2016, 21:07 9
Лучший ответ Сообщение было отмечено Nikolpix как решение

Решение

Пакет SFML у тебя под эту студию?
0
Nikolpix
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 7
09.04.2016, 23:52  [ТС] 10
Огромное спасибо, мил человек! Сперва ставил студию 2010, но из-за возникшей проблемы с std::to_string() (какая-то ошибка была связана с перегрузкой функции) перешёл на 2013, а библиотеку поменять не догадался.
0
Croessmah
++Ͻ
14777 / 8453 / 1605
Регистрация: 27.09.2012
Сообщений: 20,804
Записей в блоге: 2
Завершенные тесты: 1
10.04.2016, 03:07 11
Цитата Сообщение от Nikolpix Посмотреть сообщение
а библиотеку поменять не догадался
бывает, че...

P.S. теперь буду у всех еще спрашивать "А есть ли у них вообще компутер", прежде чем делать какие-то предположения
0
10.04.2016, 03:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2016, 03:07

Исправить ошибку: необработанное исключение по адресу, нарушение прав доступа при записи по адресу
Помогите, пожалуйста, исправит ошибку. Необработанное исключение по адресу...

Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
Необработанное исключение по адресу 0x00105FD7 в Динамические структуры.exe:...

Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
Программа толком не написан, проверял ранд и возникли проблемы. Ф-ция ранд...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru