mauvecow / DxPortLib

DxPortLib is a portability library for DxLib based software.
Other
41 stars 6 forks source link

Segmentation fault in DxPortLib/src/PL/SDL2/PLSDL2Window.c:314 #15

Closed nnn1590 closed 5 years ago

nnn1590 commented 5 years ago

OS: Ubuntu 17.10 amd64 CPU: Intel Core i3 DxPortLibTest.zip

command:

$ sudo apt install git libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libvorbis-dev

$ git clone https://github.com/mauvecow/DxPortLib.git
$ cd DxPortLib
$ mkdir lib && cd lib
$ cmake .. && make

$ cd /path/to/myproj/DxPortLibTest/
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Debug ../ && make
$ gdb a.out

(gdb) run
`/path/to/myproj/DxPortLibTest/build/a.out' has changed; re-reading symbols.
Starting program: /path/to/myproj/DxPortLibTest/build/a.out 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff4806700 (LWP 30214)]

Thread 1 "a.out" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) where
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff7b55953 in PL_Window_Init ()
    at /path/to/DxPortLib/src/PL/SDL2/PLSDL2Window.c:314
#2  0x00007ffff7b43bff in DxLib_DxLib_Init ()
    at /path/to/DxPortLib/src/DxLib/DxLib_c.c:81
#3  0x00007ffff7b55e9b in DxLib::DxLib_Init() ()
   from /path/to/DxPortLib/lib/libDxPortLib.so
#4  0x00005555555551b3 in main (argc=1, argv=0x7fffffffe168)
    at /path/to/myproj/DxPortLibTest/main.cpp:68
nnn1590 commented 5 years ago

Ubuntu 17.10 Artful amd64 (LXDE) OLD:Intel Core i3-3110M → NEW:Intel Core i5-2450M I'm sorry. Now, when I retry, the error no longer exists.|ごめんなさい。今、再試行したらエラーはなくなりました。

Command(Build DxPortLib / bash + gnome-terminal):

~ $ sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libvorbis-dev libvorbisfile3
~ $ git clone https://github.com/mauvecow/DxPortLib.git
~ $ cd DxPortLib
~/DxPortLib $ mkdir lib;cd lib
~/DxPortLib/lib $ cmake ..;make

Command(Build TestApplication / bash + gnome-terminal):

~ $ mkdir DXTRY2;cd $_
~/DXTRY2 $ mkdir build;cd $_
(Create the following files)
~/DXTRY2/build $ cmake..;make;./build.out

Files:

📂~/DXTRY2/ ├📁build/ ├📄CMakeLists.txt └📃main.cpp

CMakeLists.txt:

cmake_minimum_required (VERSION 2.8)
project(DXTRY2)
set(CMAKE_CXX_FLAGS "-std=c++1y")
link_directories("~/DxPortLib/lib/")
include_directories("~/Documents/DxPortLib/include")
add_executable(build.out main.cpp)
target_link_libraries(build.out SDL2 libDxPortLib.so)

main.cpp:

#include "DxLib.h"

int main(int argc, char **argv) {
    SetUseCharSet(DX_CHARSET_EXT_UTF8);
    SetWindowSizeChangeEnableFlag(TRUE);
    SetWaitVSyncFlag(TRUE);
    SetGraphMode(640, 480, 32);
    SetWindowText(_T("DxPortLib Test"));
    ChangeWindowMode(TRUE);
    DxLib_Init();
    while (ProcessMessage() == 0) {
        WaitTimer(1);
    }
    DxLib_End();
    return 0;
}

Reference:|参考:https://qiita.com/ikaro1192/items/3d2f5a38bc69e2d5434c Translation:|翻訳:https://translate.google.co.jp