• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kompilowanie makefile, 16-bit ?

Object Storage Arubacloud
+1 głos
312 wizyt
pytanie zadane 12 kwietnia 2020 w C i C++ przez Patrykosik88 Początkujący (340 p.)

Cześć,

od dłuższego czasu próbuje napisać plik makefile do kompilacji mojego projektu banku (link: https://github.com/Frecelcyber/bank-project), w skrócie jest to prosty program w konsolce który łączy się z bazą danych i pobiera z niej dane... Wyświetla je w konsolce oraz można dokonywać "przelewów"... Ale do rzeczy generalnie napisałem sobie w pliku makefile taką o to komende

 g++ -o lol.exe bankproject.cpp -S $(LDFLAGS) $(CPPFLAGS) $(LDLIBS)

Gdzie LDFLAGS to jest ścieżka do biblioteki .lib, CPPFLAGS to jest ścieżka do folderu include, a LDLBIS to po prostu dodatkowe zależności które w normalnym IDE wpisuje się w opcjach linkera. Kompiluje projekt jako plik wykonalny lol.exe poleceniem "mingw32-make", jednak gdy chce uruchomić ten plik z poziomu konsoli cmd dostaje taki o to błąd: 

Wcześniej robiłem testy także na innej bibliotece mianowicie SFML i ten sam błąd dostawałem. Ten komunikat wyskakuje mi przy dodawaniu bibliotek, ponieważ identyczny błąd miałem przy skompilowanym programie wyświetlającym okno w SFML... Jest na to jakaś rada ? Szperałem po internecie, ale nie znalazłem odpowiedzi na moje pytanie... Jest na to jakiś sposób ? Nie do końca rozumiem idee całych tych plików makefile. Może ja coś piszę źle w pliku makefile... Dzięki i Pozdrawiam wink

1
komentarz 12 kwietnia 2020 przez tkz Nałogowiec (42,000 p.)
Tryb zgodności? Nie rozwiąże problemu, ale powinien go obejść.
1
komentarz 12 kwietnia 2020 przez adrian17 Ekspert (344,860 p.)
Pokaż proszę ten makefile i faktyczne komendy g++'a, jakie się wykonują.
1
komentarz 12 kwietnia 2020 przez adrian17 Ekspert (344,860 p.)
(AFAIK, jednym z możliwych źródeł błędu jest przypadkowe przekazanie flagi -c)
1
komentarz 12 kwietnia 2020 przez Patrykosik88 Początkujący (340 p.)
LDLIBS = -lmysqlclient
LDFLAGS = -LLib\mysql-connector-c-6.1.11-win32\lib\vs14
CPPFLAGS = -ILib\mysql-connector-c-6.1.11-win32\include

all:
	g++ -o lol.exe bankproject.cpp -S $(LDFLAGS) $(CPPFLAGS) $(LDLIBS)

tutaj plik makefile 

1
komentarz 12 kwietnia 2020 przez adrian17 Ekspert (344,860 p.)

-S

A to to co? :P

Produkujesz asemblera?

komentarz 12 kwietnia 2020 przez Patrykosik88 Początkujący (340 p.)
Heh wyczytałem gdzieś że to oznacza linkowanie statyczne :D Bez tego program wgl mi się nie skompiluje
komentarz 12 kwietnia 2020 przez adrian17 Ekspert (344,860 p.)
Bo kompilujesz tylko jeden plik .cpp, a nie całość projektu.
komentarz 12 kwietnia 2020 przez Patrykosik88 Początkujący (340 p.)
Aaa rozumiem dobra dzięki tak żebym wiedział co oznacza to -S ?
komentarz 12 kwietnia 2020 przez adrian17 Ekspert (344,860 p.)

tak żebym wiedział co oznacza to -S ?

https://linux.die.net/man/1/g++

Stop after the stage of compilation proper; do not assemble. The output is in the form of an assembler code file for each non-assembler input file specified.

komentarz 12 kwietnia 2020 przez Patrykosik88 Początkujący (340 p.)
Dobra dzięki

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
2 odpowiedzi 174 wizyt
pytanie zadane 28 maja 2019 w C i C++ przez Hiskiel Pasjonat (22,830 p.)
+1 głos
0 odpowiedzi 171 wizyt
pytanie zadane 23 sierpnia 2018 w Inne języki przez Hiskiel Pasjonat (22,830 p.)
0 głosów
0 odpowiedzi 310 wizyt
pytanie zadane 22 czerwca 2021 w Mikrokontrolery przez Mavimix Dyskutant (8,390 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...