Brak wejścia procederu w libstdc++6.dll

0

Po nieudanym procederze z SDL postanowiłem przesiąść się na SFML ale przy kompilacji wyskakuje mi taki oto błąd:

user image.

Wie ktoś może czym jest to spowodowane i jak to naprawić?

0

Przy kompilacji czy podczas uruchomienia?

0

Cudów nie ma. Masz nie tą wersję DLL-ki lub w aplikacji linkujesz nie do tej co trzeba. W cud uszkodzenia DLL-ki nie wierzę :)

0

Kompilacja przebiega pomyślnie, podczas uruchamiania to wyświetla.

@Edit:
Linkowanie dobre zrobione według strony http://cpp0x.pl/kursy/Kurs-SFML-2-x-C++/Instalacja-i-konfiguracja/Konfiguracja-SFML-2-0-Code-Blocks/464

0

Ja bym sobie to otwarł w IDA i zobaczył co EXE importuje oraz przeanalizował tego DLL-a czy faktycznie tam siedzi ta funkcja.

0

Do katalogu z exekiem wrzuć dll-kę we właściwej wersji (gdzieś powinna leżeć w katalogach code blocksa.

0

nie na tej dllki w working directory

0
Bartosz Wójcik napisał(a):

Ja bym sobie to otwarł w IDA i zobaczył co EXE importuje oraz przeanalizował tego DLL-a czy faktycznie tam siedzi ta funkcja.

Niestety ale nie rozumiem logiki asemblera więc tego nie zrobię ewentualnie mogę podesłać EXE.

Edit:
@Azarien zrobiłem to co kazałeś i nie działa.

0

Twoja aplikacja nie korzysta z tej funkcji, natomiast wykorzystywana jest w DLL-ach, oznacza to, że posiadasz nieprawidłową wersję libstdc++-6.dll, stawiam, że są różne rewizje tej DLL-ki.

3

Istnieją specjalne narzędzia do badania powiązań które szybko i bezboleśnie pokażą wszystkie braki eksportów (ewentualnie całych bibliotek)
http://www.dependencywalker.com/
Braki eksportowanych funkcji oznaczają że dana biblioteka jest w nieodpowiedniej wersji, należy poszukać innej i wrzucić do folderu z programem.

@De_v_i
EDIT: Sprawdziłem wyszło że rzeczywiście biblioteka nie eksportuje tej funkcji, nie znalazłem z eksportem więc szukałem w Google pod kątem błędu okazało się że na YT jest nawet filmik jak to naprawić (język chyba francuski)

Gdyby ktoś nie zrozumiał (chociaż jak można nie rozumieć skoro widać co gostek robi) to raczej gdyby filmik przepadł napiszę ze strony SFML http://www.sfml-dev.org/download/sfml/2.3.1/ pobiera SFML dla TDM (nie MinGW!) wypakowuje i kopiuje biblioteki: sfml-graphics-d-2.dll, sfml-window-d-2.dll, sfml-system-d-2.dll do folderu ze skompilowanym projektem.
Aby działało poza IDE trzeba jeszcze przekopiować biblioteki libgcc_s_sjlj-1.dll i libstdc++-6.dll z c:\Program Files (x86)\CodeBlocks\MinGW\bin\ do folderu z programem.
Po tym wszystko ładnie działa.

0

Dziękuję za pomoc @kAzek.

Temat zamknięty!

0

Nie wiem czy dobrze robię, że tu piszę, ale mam ten sam problem co De_v_i, a rozwiązanie francuza nie pomaga, chyba że coś źle robię. Poszukałem trochę sposobów w internecie, ale nic nie pomogło. Jak to naprawić?

1 użytkowników online, w tym zalogowanych: 0, gości: 1