Kompilacja z biblotekami przez PowerShella

0

Witam.

Przed chwilą natknęła mnie taka ciekawość oraz chęć spróbowania skompilowania pliku main.cpp z użyciem jakieś biblioteki.
Poczytałem na kliku autorskich stronach i użyłem przy g++, operandy -I oraz -L podając odpowiednie ścieżki do folderów na dysku.
Wszystko jest okej tylko kompilator a raczej bardziej linker wyrzuca mi z 14 błędów typu "undefine reference" itp.

g++ main.cpp -I "Ścieżka do plików .h" -L "Ścieżka do plików .a itp" -o Frame 

System to Windows 10.

Bardzo dziękuję za pomocą i życzę miłego dnia.

3

folder bibliotek dodajesz za pomocą dużego -L, a za pomocą małego -L jaka to ma być libka dam ci przykład z CPythonem

g++ -I/usr/include/python3.8/ cpython.cpp inny_plik.cpp -o cpython.o -lpython3.8

-lpython3.8 odnosi się do libpython3.8 te lib samo się dodaje.

A i jak masz więcej plików cpp to wszystkie musisz podać lub jak dajesz przekompilowane .o do projektu.

I dam ci jeszcze jedną wskazówkę czasem jest błąd kompilacji jak -lpython3.8 jest na początku, najlepiej na końcu dawać tak jak w przykładzie.

0

Zastosowałem się do zaleceń i przetestowałem to na bibliotece SFML i pojawił się problem z -l.

g++ -lsfml-window -ID:\Bibloteki\SFML-2.5.1\include main.cpp -o Frame

I wyrzuca mi taki błąd "cannot find -lsfml-window: No such file or directory".

Z takim zapisem jak -lpython3.8 spotkałem się na Linux a mi chodzi o Windows 10.
Ścieżka do plików biblioteki nie jest dodana do zmiennej środowiskowej path jak coś.

0

Nie korzystałem z sfml, ale on z dużej ilości libek korzysta -lsfml-graphics -lsfml-window -lsfml-system dodaj wszystkie
Dodaj też -L z pathem do katalogu gdzie się znajdują biblioteki sfml-graphics, sfml-window, bo -I tylko wskazuje gdzie są headery, nagłówki plików cpp.
Jak nie wiesz gdzie leżą możesz użyć find . -name '*sfml-window*'

Albo daj na chwilę zdalny pulpit to ci to ogarnę, bo ciężko się pomaga pisząć.

Ewentualnie to powinno być drogą dedukcji:
g++ -LD:\Bibloteki\SFML-2.5.1\lib -ID:\Bibloteki\SFML-2.5.1\include main.cpp -o Frame.exe -lsfml-graphics -lsfml-window -lsfml-system

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