Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z instalacją SFML'a pod Code::Blocks.


Rekomendowane odpowiedzi

Opublikowano

Witam wszystkich,

czy jakaś dobra dusza byłaby w stanie nakierować instalację SFML'a na właściwą ścieżkę?

 

0. Otóż zgodnie z wersją mojego kompilatora - GCC 6.10 MinGW (DW2) - 32bit - pobrałem bibliotekę SFML.

1. Utworzyłem nowy projekt w Code::Blocks --> Build options projektu --> globalnie w Search directories dodałem w Compiler ścieżkę do folderu include --> natomiast w Linker ścieżkę do folderu lib.
2. W zakładce Debug dodałem w Linker settings zgodnie z poprawną kolejnością oznaczenia: sfml-graphics z odpowiednimi sufixami, czyli dla Debug ... -d, dla Release bez sufixu etc. etc.

3. Globalnie w zakładce #defines należącej do Compiler settings dodałem SFML_DYNAMIC i skopiowałem pliki .dll do folderu bin mojego projektu.

4. Spróbowałem skompliować testowy kod źródłowy, uruchamia się konsola, lecz wraz z nią problem: "Nie znaleziono punktu wejścia procedury..." 

 

W czym tkwi problem? Uprzedzam, Google nie pomógł. 

Pozdrawiam.

Nowicjusz
Opublikowano

Brakuje jakiekjś dllki. Po pierwsze propunuje wrzucic Dll to folderu głownego projektu, a nie do bin, wszystkie, które tam są. I co było dalej w tym komunikacie? Podałeś tylko początek a dalsza część jest najważniejsza

Opublikowano

Brakuje jakiekjś dllki. Po pierwsze propunuje wrzucic Dll to folderu głownego projektu, a nie do bin, wszystkie, które tam są. I co było dalej w tym komunikacie? Podałeś tylko początek a dalsza część jest najważniejsza

:)

Przeniesienie .dll nie pomogło.

post-430983-0-48720000-1478973050_thumb.png

Nowicjusz
Opublikowano

Aplikacja włącza sie i działa, z dllkami z http://mirror2.sfml-dev.org/files/SFML-2.4.1-windows-gcc-6.1.0-mingw-32-bit.zip , ale crashuje się pod koniec przy jakiejś dealokacji czegoś. Nie jestem pewny czy to wina dllek czy coś w twoim kodzie. W każdym razie nie mam twojego błędu z dllkami j/w, włącza się okienko "SFML works!" a następnie jest crash przy wyłączaniu się apki.

możesz podać jeszcze kod, bo być może jest tam coś co crashuje tą aplikacje. Ale udało mi się przejść moment uruchomienia więc dllki się dobrze załadowały, czyżbyś się jakoś tragicznie pomylił?

Opublikowano

Aplikacja włącza sie i działa, z dllkami z http://mirror2.sfml-dev.org/files/SFML-2.4.1-windows-gcc-6.1.0-mingw-32-bit.zip , ale crashuje się pod koniec przy jakiejś dealokacji czegoś. Nie jestem pewny czy to wina dllek czy coś w twoim kodzie. W każdym razie nie mam twojego błędu z dllkami j/w, włącza się okienko "SFML works!" a następnie jest crash przy wyłączaniu się apki.

 

możesz podać jeszcze kod, bo być może jest tam coś co crashuje tą aplikacje. Ale udało mi się przejść moment uruchomienia więc dllki się dobrze załadowały, czyżbyś się jakoś tragicznie pomylił?

Albo coś źle skonfigurowałem? Kod powinien być w porządku.

Po podmienieniu .dll, problem nie zniknął.

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    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;
}


EDIT: 

Problem pojawia się po skopiowaniu .dll, wcześniej wyświetla się właściwy komunikat: "Nie odnaleziono windows.dll itd. "

Może nie dopasowałem wersji kompilatora? Mimo że w folderze bin MinGW mam plik o nazwie: libgcc_s_dw2-1.dll

Nowicjusz
Opublikowano

Okej więc skonfigurowałem sobie tak samo jak ty i mi działa, to co ja skomplilowałem. Twoje nie działa.

Kliknij prawym przyciskiem na projekt i daj  "Rebulid", i następnie wklej co masz w zakładce "Bulid log" (ta na dole).

U mnie to wygląda tak:
 

g++.exe -Wall -g -DSFML_DYNAMIC -IC:\sfml_src\include -c C:\code\sfmltest\main.cpp -o obj\Debug\main.o
g++.exe -LC:\sfml_src\lib -o bin\Debug\sfmltest.exe obj\Debug\main.o   -lmingw32 -luser32 -lgdi32 -lwinmm -ldxguid -lsfml-graphics-d -lsfml-window-d -lsfml-system-d

Dokładnie ten sam kod co Ty, mingw ten ( http://netix.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/6.1.0/threads-posix/dwarf/i686-6.1.0-release-posix-dwarf-rt_v5-rev0.7z ) i działa z tymi samymi dllkami co Twoja nie działa.

Więc pytanie gdzie jest różnica. Ogólnie na pewno już do tego dojdziemy, jak mi działa to po prostu musimy zrobić tak żebyś ty miał tak samo i będzie ok 100%.

hFFqbDb.png

Opublikowano


mingw32-g++.exe -Wall -DSFML_DYNAMIC -g -IC:\SFML\SFML\include -c "C:\Users\Kacper\Desktop\C++\TESTS\SFML DOES IT WORK\Untitled2.cpp" -o obj\Debug\Untitled2.o

mingw32-g++.exe -LC:\SFML\SFML\lib -o "bin\Debug\SFML DOES IT WORK.exe" obj\Debug\Untitled2.o -lsfml-graphics-d -lsfml-window-d -lsfml-system-d

Nowicjusz
Opublikowano

No to masz zły Mingw. http://www.sfml-dev.org/download/sfml/2.4.1/ -tutaj na dole w sekcji Windows masz link do dobrego mingw 6.1.0 32 bit.

Ściągnij wypakuj sobie gdzieś i następnie w C::B  Settings->Compiler->Toolchain Executables i wybierz kolejno gcc.exe, g++.exe, g++.exe i ar.exe z tej paczki (mingw32\bin) i powinno działać.

Opublikowano

No to masz zły Mingw. http://www.sfml-dev.org/download/sfml/2.4.1/ -tutaj na dole w sekcji Windows masz link do dobrego mingw 6.1.0 32 bit.

 

Ściągnij wypakuj sobie gdzieś i następnie w C::B  Settings->Compiler->Toolchain Executables i wybierz kolejno gcc.exe, g++.exe, g++.exe i ar.exe z tej paczki (mingw32\bin) i powinno działać.

Działa, dziękuję kolego. Rozumiem, że miałem nieaktualną wersję kompilatora? 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...