내 코드 : 블록 sftwr에서 다음 코드를 컴파일하고 실행하려고 시도했지만 dll "libstdC++ 6 내가 당신에게 코드 샘플 및 디버그 모드에서 오류 로그 (F8)libstdC++ 6.dll로 코드를 실행하는 중 오류가 발생했습니다.
#include <stdio.h>
#include <allegro5/allegro.h>
int main(int argc, char **argv){
ALLEGRO_DISPLAY *display = NULL;
if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
display = al_create_display(640, 480);
if(!display) {
fprintf(stderr, "failed to create display!\n");
return -1;
}
al_clear_to_color(al_map_rgb(0,0,0));
al_flip_display();
al_rest(10.0);
al_destroy_display(display);
return 0;
}
디버그 출력두고 "
을 .DLL :
Building to ensure sources are up-to-date
Selecting target:
Debug
Adding source dir: c:\telechar\Codeblocks\Mesprojets\MonProjet\
Adding source dir: c:\telechar\Codeblocks\Mesprojets\MonProjet\
Adding file: c:\telechar\Codeblocks\Mesprojets\MonProjet\bin\Debug\MonProjet.exe
Changing directory to: c:/telechar/Codeblocks/Mesprojets/MonProjet/.
Set variable: PATH=.;C:\Telechar\CodeBlocks\MinGW\bin;C:\Telechar\CodeBlocks\MinGW;
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0;c:\Program Files (x86)\Common Files\Ulead Systems\MPEG;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows Live\Shared
Starting debugger: C:\Telechar\CodeBlocks\MINGW\bin\gdb.exe -nx -fullname -quiet -args c:/telechar/Codeblocks/Mesprojets/MonProjet/bin/Debug/MonProjet.exe
done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
Debugger name and version: GNU gdb (GDB) 7.5
Child process PID: 5536
Error while reading shared library symbols for c:\telechar\Codeblocks\Mesprojets\MonProjet\libstdc++-6.dll:
...
Error while reading shared library symbols for c:\telechar\Codeblocks\Mesprojets\MonProjet\libstdc++-6.dll:
Program received signal SIGSEGV, Segmentation fault.
In al_destroy_display() (c:\telechar\Codeblocks\Mesprojets\MonProjet\allegro-5.0.10-md.dll)
Continuing...
Program received signal SIGSEGV, Segmentation fault.
In al_destroy_display() (c:\telechar\Codeblocks\Mesprojets\MonProjet\allegro-5.0.10-md.dll)
Continuing...
[Inferior 1 (process 5536) exited with code 030000000005]
Debugger finished with status 0
을 이상한 것은입니다 릴리스 모드에서, 그것을 ~ 같다 잘 작동합니다 (잠시 동안 창이 나타나고 디버그 모드에서 닫히고 화면이 표시되지만 결국 파란색으로 표시되며 끝에 충돌 함)
CodeBlocks와 다른 버전의 GCC로 컴파일 된 Allegro 버전을 사용하는 것과 관련이있을 수 있습니다. [this forum thread]를 가리키는 [이 비슷한 질문 (Stack overflow)] (http://stackoverflow.com/questions/14901930/allegro-5-crashs-on-calling-al-clear-to-colorallegro-color) (https://www.allegro.cc/forums/thread/610189) – Julien
내 버전 de gcc는 4.7.1이며, code :: blocks을 사용합니다. 어떻게하면 CD :: BLCKS와 함께 gcc의 새 버전을 사용할 수 있습니까? 최신 버전을 다운로드하려고했지만 웹 사이트에서 donwloading 프로세스를 이해하지 못합니다. – Shinobi
Windows에서 MinGW (Windows GCC 포트)를 설치해야합니다. – Appleshell