Der folgende Fehler während der Laufzeit aufgetreten:Was verursacht diesen Laufzeitfehler und wie kann ich ihn beheben?
Die Einstiegspunkt Prozedur
_ZSt24__throw_out_of_range_fmtPKcz
nicht in der Dynamic Link Library "test.exe" gefunden werden kann.
Ich habe einen C++ - Entwerfer verwendet, um herauszufinden, welche Funktion den Eintrittspunktfehler verursacht. Die Funktion ist: std::__throw_out_of_range_fmt(char const*, ...)
ich zu den folgenden Bibliotheken am Verknüpfung:
- SDL2 (Dynamic, von der Quelle von mir, gleiche Version von GCC kompiliert, die ich für mein Projekt bin mit (4.9.3)).
- GLEW (Added Quelle zu projizieren)
I SDL2 von der Quelle mit der gleichen Version von GCC kompiliert, die ich in meinem Projekt verwenden, weil ich dachte, dass die vorgefertigte Version war ich mit verursacht hatte irgendwie einen Konflikt in den verschiedenen C++ Standardbibliotheken. Ich versuchte dann dynamisch mit diesem Build zu verknüpfen, aber der genau gleiche Laufzeitfehler blieb bestehen.
Compilation & Linking Script Log (Compiled über einen Windows-Batch-Skript):
C:\Users\Harrand\Desktop\Ocular GEng\src\camera.o
C:\Users\Harrand\Desktop\Ocular GEng\src\datatranslation.o
C:\Users\Harrand\Desktop\Ocular GEng\src\glew.o
C:\Users\Harrand\Desktop\Ocular GEng\src\light.o
C:\Users\Harrand\Desktop\Ocular GEng\src\listeners.o
C:\Users\Harrand\Desktop\Ocular GEng\src\matrix.o
C:\Users\Harrand\Desktop\Ocular GEng\src\mesh.o
C:\Users\Harrand\Desktop\Ocular GEng\src\model_loader.o
C:\Users\Harrand\Desktop\Ocular GEng\src\object.o
C:\Users\Harrand\Desktop\Ocular GEng\src\quaternion.o
C:\Users\Harrand\Desktop\Ocular GEng\src\shader.o
C:\Users\Harrand\Desktop\Ocular GEng\src\stb_image.o
C:\Users\Harrand\Desktop\Ocular GEng\src\test.o
C:\Users\Harrand\Desktop\Ocular GEng\src\texture.o
C:\Users\Harrand\Desktop\Ocular GEng\src\timekeeper.o
C:\Users\Harrand\Desktop\Ocular GEng\src\utility.o
C:\Users\Harrand\Desktop\Ocular GEng\src\vector.o
C:\Users\Harrand\Desktop\Ocular GEng\src\window.o
C:\Users\Harrand\Desktop\Ocular GEng\src\world.o
19 file(s) moved.
Compilation Completed, ".o" files are in "C:\Users\Harrand\Desktop\Ocular GEng\cpl\Thu 08.25.2016"
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.9.3/lto-wrapper.exe
Target: mingw32
Configured with: ../src/gcc-4.9.3/configure --build=x86_64-pc-linux-gnu --host=mingw32 --prefix=/mingw --disable-win32-registry --target=mingw32 --with-arch=i586 --enable-languages=c,c++,objc,obj-c++,fortran,ada --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --enable-libstdcxx-debug --with-tune=generic --enable-nls
Thread model: win32
gcc version 4.9.3 (GCC)
COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/4.9.3/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/4.9.3/;c:/mingw/bin/../lib/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/lib/;c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../
COLLECT_GCC_OPTIONS='-v' '-LC:\Users\Harrand\Desktop\Ocular GEng\lib' '-LC:\Users\Harrand\Desktop\Ocular GEng\Lua\5.3.2\lib' '-o' 'oculargame-test.exe' '-shared-libgcc' '-mtune=generic' '-march=i586'
c:/mingw/bin/../libexec/gcc/mingw32/4.9.3/collect2.exe -plugin c:/mingw/bin/../libexec/gcc/mingw32/4.9.3/liblto_plugin-0.dll -plugin-opt=c:/mingw/bin/../libexec/gcc/mingw32/4.9.3/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\Harrand\AppData\Local\Temp\ccUhcnbk.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -Bdynamic -u ___register_frame_info -u ___deregister_frame_info -o oculargame-test.exe c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../crt2.o c:/mingw/bin/../lib/gcc/mingw32/4.9.3/crtbegin.o -LC:\Users\Harrand\Desktop\Ocular GEng\lib -LC:\Users\Harrand\Desktop\Ocular GEng\Lua\5.3.2\lib -Lc:/mingw/bin/../lib/gcc/mingw32/4.9.3 -Lc:/mingw/bin/../lib/gcc -Lc:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/lib -Lc:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../.. camera.o datatranslation.o glew.o light.o listeners.o matrix.o mesh.o model_loader.o object.o quaternion.o shader.o stb_image.o test.o texture.o timekeeper.o utility.o vector.o window.o world.o -lOpenGL32 -lSDL2 -lSDL2main C:\Users\Harrand\Desktop\Ocular GEng\res\exe\ocular.res -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw/bin/../lib/gcc/mingw32/4.9.3/crtend.o
1 file(s) moved.
Linking Completed, "oculargame-test.exe" is in "C:\Users\Harrand\Desktop\Ocular GEng\cpl\Thu 08.25.2016\lnk"
Nur Fehlermeldung während der Laufzeit gedruckt ist der Titel dieser Frage. Ich Verknüpfung mit der folgenden Libs:
- libSDL2.a (DLL implib für SDL2)
- libSDL2main.a
ich nur die Verknüpfung zu dem Dynamic Link Library libSDL2.dll. Mein früherer Verdacht war, dass SDL2 bereits vor dem Kompilieren selbst kompiliert wurde. In den Compiler-Versionen gab es einen Konflikt. Allerdings weiß ich jetzt, dass dies nicht der Fall ist. Könnte dieser Fehler irgendwie durch die Tatsache verursacht werden, dass ich den GLEW-Quellcode zu meinem Projekt hinzugefügt habe?
Ich habe das gleiche Problem und von dem, was ich fand, ist es, weil einige der Bibliotheken mit verschiedenen Versionen des Compilers kompiliert und mit verschiedenen Versionen von Standard-C++ - Bibliotheken als das, was Sie verwenden, um Ihre eigene App zu kompilieren.Sie müssen entweder den gleichen Compiler installieren, der für diese Bibliotheken verwendet wurde, oder ihre Quellen herunterladen und sie mit Ihrem aktuellen Compiler kompilieren. Wenn du es versuchst, sag mir, ob es funktioniert. – Youda008
@ Youda008 Ich verstehe, was Sie gesagt haben, und ich glaube, Sie haben Recht. Als das Problem jedoch zum ersten Mal auftrat, trat der Fehler nicht jedes Mal auf, wenn ich versuchte, das Programm auszuführen. manchmal lief es ohne Fehler, wenn ich keine Änderungen vornahm! Außerdem können Sie meine letzte Bearbeitung überprüfen, um eine von mir vorgenommene Umsetzung zu sehen. Ich bin wieder einmal verloren, und wenn Sie Informationen zu bieten haben, würde ich es begrüßen. – Harrand