Linkowanie bibliotek w g++ przy użyiu mingw64 (ubuntu)

0

Do tej pory do programowania używałem windowsa. Było to wygodne ponieważ kompilator tworzył mi od razu plik .exe , na którym mi zależy, oraz linkowanie w np. codeblocks było banalnie proste. Postanowiłem jednak przesiąść się na ubuntu 15.10 gdyż ten system był o dziwo bardziej kompatybilny z moim sprzętem. Udało mi się skompilować mój kod do pliku .exe, a także zalinkować biblioteke (liballeg.a). Nie umiem jednak tych dwóch opcji połączyć.

Do skompilowania kodu z użyciem biblioteki użyłem:
g++ test.cpp -o test -I /home/me/allegro-mingw-4.2.2/lib/ -lalleg

Do skompilowania kodu do pliku .exe użłem:

x86_64-w64-mingw32-g++ test.cpp -o test.exe

Próbowałem połączyć te dwie opcje używając :
x86_64-w64-mingw32-g++ test.cpp -o test.cpp -o test.exe -I /home/me/allegro-mingw-4.2.2/lib/ -lalleg

Jednak wynik tego był taki:

test.cpp:3:21: fatal error: allegro.h: Nie ma takiego pliku ani katalogu
#include <allegro.h>
^
compilation terminated.

Proszę o pomoc i w miarę szczegółowy sposób rozwiązania problemu, jestem raczej początkujący zarówno jako programista jak i jako użytkownik linuksa.

Kod programu: (plik .exe udało mi się osiągnąć bez linijek należących do allegro)

#include <stdio.h>
#include <allegro.h>

using namespace std;

int main() {
allegro_init();

printf("Test itd\n");
allegro_exit();
;

}
END_OF_MAIN();

0

a nie powinno być -I /home/me/allegro-mingw-4.2.2/include/ ? W jakim folderze masz plik allegro.h?

0

allegro.h mam w include, jednak jeżeli zrobie -I /..../include/ to

pojawia się komunikat:

Nie ma takiego pliku ani katalogu

#include <io.h>
^
compilation terminated.

0

A gdzie masz io.h?

0

nie am takiego pliku i nigdy nawet o nim nie slyszałem

0

W takim razie jakim cudem możesz otworzyć jakikolwiek plik? io.h to biblioteka właśnie do ich otwierania :p

Może użyj tego..

find / -name "io.h"

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