Форум программистов, компьютерный форум CyberForum.ru

Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения - C++

Восстановить пароль Регистрация
 
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
10.03.2016, 14:33     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #1
имеется код:
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), "test");
    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;
}
при компилировании никаких ошибок не возникает,но при запуске,появляется ошибка:Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения
компилирую так:
g++ "<путь до исходника>\c++#3.cpp" -o"name" -IC:\MinGW\libs\SFML-2.3.2\include\ -LC:\MinGW\libs\SFML-2.3.2\lib\ -lsfml-graphics -lsfml-window -lsfml-system
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2016, 14:33     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения
Посмотрите здесь:

C++ ошибка: ... vcl60.bpl не был найден - при запуске приложения, если Builder не установлен
Точка входа не найдена C++
точка входа в процедуру не найдена в библиотеке dll C++
точка входа в процедуру __gxx_personality_v0 не найдена C++
Где точка входа приложения? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6424 / 3798 / 879
Регистрация: 30.01.2014
Сообщений: 6,591
10.03.2016, 14:38     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #2
Amir_05_05, суть явления описана здесь: http://www.cyberforum.ru/cpp-beginne...ad1679283.html
Лечится аналогично.
Или можно поставить MSYS2, там все в одном флаконе и библиотеки и компилятор.
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
10.03.2016, 14:45  [ТС]     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #3
почитал эту статью.Он решил проблему установкой правильной версии sfml.А у меня версия компилятора и sfml совпадают(4.8.1) но ошибка есть.
DrOffset
6424 / 3798 / 879
Регистрация: 30.01.2014
Сообщений: 6,591
10.03.2016, 14:55     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #4
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
А у меня версия компилятора и sfml совпадают(4.8.1) но ошибка есть.
Совпадение версий - это еще не все. Модель исключений тоже должна быть одинаковая - именно к ней относится эта функция, которую он у тебя не находит. Может быть одна из seh/sjlj/dwarf. Вполне возможно, что SFML у тебя требует sjlj, а компилятор собран с dwarf или seh.
Надежнее - собрать самостоятельно своим компилятором, как советовали в той теме, или заменить весь комплект на комплект из MSYS2.
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
10.03.2016, 15:48  [ТС]     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #5
можете объяснить или дать какую-нибудь статью по Модели исключений,seh,sjlj,dwarf
Цитата Сообщение от DrOffset Посмотреть сообщение
Надежнее - собрать самостоятельно своим компилятором
а как?
DrOffset
6424 / 3798 / 879
Регистрация: 30.01.2014
Сообщений: 6,591
10.03.2016, 16:57     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #6
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
дать какую-нибудь статью
https://gcc.gnu.org/wiki/WindowsGCCImprovements

Цитата Сообщение от Amir_05_05 Посмотреть сообщение
а как?
http://www.sfml-dev.org/tutorials/2....with-cmake.php
nd2
1024 / 763 / 257
Регистрация: 29.01.2016
Сообщений: 2,376
10.03.2016, 17:03     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #7
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
а как?
Как-то собирал, записи остались:
Кликните здесь для просмотра всего текста
Сборка SFML из исходников, с помощью cmake и mingw32-make.
Запускаем cmd, прописываем путь к папке bin компилятора (если не прописана в path), например:

set PATH=D:\Programs\MingW\mingw32-gcc-4.6.3-release-c_c++_fortran-sjlj\mingw\bin (путь без кавычек!!!)

Переходим в папку SFML(например, I:\SFML-2.2-sources\SFML-2.2).

Открываем CMakeLists.txt и, для сборки debug, изменяем:

sfml_set_option(CMAKE_BUILD_TYPE Release STRING "Choose the type of build (Debug or Release)")
на
sfml_set_option(CMAKE_BUILD_TYPE Debug STRING "Choose the type of build (Debug or Release)")

Для сборки static изменяем:

sfml_set_option(BUILD_SHARED_LIBS TRUE BOOL "TRUE to build SFML as shared libraries, FALSE to build it as static libraries")
на
sfml_set_option(BUILD_SHARED_LIBS FALSE BOOL "TRUE to build SFML as shared libraries, FALSE to build it as static libraries")

Для выбора - собирать примеры или нет, меняем здесь:

sfml_set_option(SFML_BUILD_EXAMPLES FALSE BOOL "TRUE to build the SFML examples, FALSE to ignore them")

Собирать ли документацию API:

sfml_set_option(SFML_BUILD_DOC FALSE BOOL "TRUE to generate the API documentation, FALSE to ignore it")

Тут, что-то связанное с OpenGL реализацией:

# add an option for choosing the OpenGL implementation
sfml_set_option(SFML_OPENGL_ES ${OPENGL_ES} BOOL "TRUE to use an OpenGL ES implementation, FALSE to use a desktop OpenGL implementation")

Запускаем cmake с help:

"%CMake%/cmake" -help


Смотрим и выбираем параметры сборки makefile.
makefile для mingw:

Чтобы не засорять исходники временными файлами, создаём дополнительную папку (temp), переходим туда, и запускаем cmake, указав путь к папке с исходниками:

"%CMake%/cmake" -G "MinGW Makefiles" D:\Programs\SFML-2.2-sources\SFML-2.2

Если папка temp создана в папке и исходниками, то можно так:

"%CMake%/cmake" -G "MinGW Makefiles" ..\

После сборки makefile:

mingw32-make

Для сборки другой конфигурации (debug/release), удаляем makefile и всё добавленные файлы и папки (кроме lib), изменяем CMakeLists.txt, и повторяем действия.

Дополнительные зависимости (уже собранные библиотеки libfreetype.a, libglew.a и пр.), необходимые при использовании статических (-s) либ, лежат в папке extlibs.

Настройки Code Blocks, при использовании статически либ, здесь:

http://www.cyberforum.ru/cpp-beginne...ml#post7544495

Препроцессор:

GLEW_STATIC
SFML_STATIC
UNICODE

Линкер (для debug и release):

sndfile
openal32
jpeg
qlew
freetype
ws2_32
gdi32
opengl32
glu32
winmm

Возможно, какие-то и не нужны (например, openal32, ws2_32. Важен порядок подключений, в частности glew должна быть выше opengl32).

Линкер (для release):

sfml-graphics-s
sfml-window-s
sfml-system-s
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11815 / 6794 / 769
Регистрация: 27.09.2012
Сообщений: 16,866
Записей в блоге: 2
Завершенные тесты: 1
10.03.2016, 17:39     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #8
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
а как?
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
почитал эту статью
Ага... там даже видео есть как собрать DLL
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
10.03.2016, 19:32  [ТС]     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Ага... там даже видео есть как собрать DLL
так я по ниму и собираю)

Добавлено через 27 минут
у меня один вопрос:где найти исходник sfml(папка sfml-sources на видео)
nd2
1024 / 763 / 257
Регистрация: 29.01.2016
Сообщений: 2,376
10.03.2016, 19:39     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #10
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
у меня один вопрос:где найти исходник sfml
Там же, где и сборки.
DrOffset
6424 / 3798 / 879
Регистрация: 30.01.2014
Сообщений: 6,591
10.03.2016, 19:40     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #11
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
где найти исходник sfml
http://www.sfml-dev.org/download/sfml/2.3.2/
Внизу страницы, source code.
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
10.03.2016, 20:20  [ТС]     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #12
а,всё спс

Добавлено через 4 минуты
а что такое release и debug и в чем различие между ними?

Добавлено через 9 минут
собрал свою библиотеку,как на видео,но результат тот же
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11815 / 6794 / 769
Регистрация: 27.09.2012
Сообщений: 16,866
Записей в блоге: 2
Завершенные тесты: 1
10.03.2016, 20:21     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #13
Amir_05_05, может у Вас два компилятора?
Собираете одним, а рантайм от другой версии подцепляется.
Проверьте пути в переменной path
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2016, 20:31     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения
Еще ссылки по теме:

Ошибка fatal error LNK1561: точка входа должна быть определена C++
C++ Ошибка при запуске приложения через командную строку
C++ MinGW. Точка входа в процедуру __gxx_personality_v0 не найдена в библиотеке DLL /brut.exe

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

Или воспользуйтесь поиском по форуму:
Amir_05_05
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
10.03.2016, 20:31  [ТС]     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения #14
вот моя path:
Код
 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\MinGW\bin\;D:\amir\3d max\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\
Yandex
Объявления
10.03.2016, 20:31     Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения
Ответ Создать тему
Опции темы

Текущее время: 19:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru