2012-08-02 9 views
29

Jestem nowy w tym, Po prostu chciałem zapytać, jak skompilować plik Makefile.am przy użyciu kompilatora MinGW w języku C. Czy muszę zapisywać wszystkie moje pliki w MinGW \ bin? ponieważ teraz mój plik znajduje się w innym katalogu.Jak skompilować plik Makefile za pomocą MinGW?

Doceń pomoc.

+0

Oczywiście nie, nie powinieneś umieszczać _niewiec_ w mingw \ bin. Jaki jest twój dokładny problem? (Tj wyjaśnić, co się niepowodzeniem dla ciebie.) – Mat

+1

Jeśli masz Makefile.am, to proponuję przeczytać więcej o [automake] (http://www.gnu.org/software/automake/) i [autoconf] (http://www.gnu.org/software/autoconf/). –

+0

OK, mam projekt w C, że mój przełożony poprosi mnie do kompilacji. ten projekt zawiera plik makefile.in, a także makefile.in. Które mam 0 wiedzy na temat. po badaniach udało mi się zainstalować kompilator MinGW. Zmieniłem również środowisko zmiennych i katalog w wierszu polecenia, kierując do lokalizacji pliku.Teraz, czy ktoś może mi powiedzieć, jak skompilować projekt, naprawdę to doceniam. – AAA

Odpowiedz

0

Dowiedz się więcej o automake i autoconf.

Plik Makefile.am jest przetwarzany przez automake w celu wygenerowania pliku Makefile, który jest przetwarzany przez make w celu stworzenia źródeł.

http://www.gnu.org/software/automake/

+0

To znaczy, że mogę skompilować plik tylko za pomocą automake? – AAA

20

Fragment http://www.mingw.org/wiki/FAQ:

Jaka jest różnica między marki i mingw32-zrobić?

"Natywny" (tj. Zależny od MSVCRT) port do make brakuje niektórych funkcji i ma zmodyfikowaną funkcjonalność ze względu na brak POSIX na Win32. Istnieje również wersja make w dystrybucji MSYS, która jest zależna od środowiska wykonawczego MSYS. Port ten działa bardziej, ponieważ marka była przeznaczona do działania i zapewnia mniej bóle głowy podczas wykonywania. Na tej podstawie twórcy/opiekunowie/opiekunowie MinGW zdecydowali, że najlepiej będzie zmienić nazwę wersji natywnej, aby zarówno "natywna" wersja, jak i wersja MSYS mogła być obecna w tym samym czasie bez kolizji nazwy pliku.

więc zajrzeć do katalogu C: \ MinGW \ bin i najpierw upewnić się, co zrobić plik wykonywalny, czy zainstalowany (make.exe lub mingw32-make.exe)

Przed użyciem MinGW, należy dodać C. : \ MinGW \ bin; do zmiennej środowiskowej PATH przy użyciu instrukcji zawartych w http://www.mingw.org/wiki/Getting_Started/

potem CD do katalogu, gdzie masz makefile i spróbuj mingw32-make.exe makefile.in lub po prostu make.exe makefile.in (w zależności od plików wykonywalnych w katalogu C: \ MinGW \ bin).

Jeśli potrzebujesz rozwiązania opartego na GUI, zainstaluj DevCPP IDE, a następnie przeprowadź ponownie.

+2

właśnie zainstalowałem mingw i nie mam ani w folderze bin. – ecoe

6

Musisz aktywnie wybrać instalację programu MSYS, aby pobrać plik make.exe. Tak więc powinieneś zawsze mieć przynajmniej (natywny) plik mingw32-make.exe, jeśli MinGW został poprawnie zainstalowany. A jeśli zainstalowałeś MSYS, będziesz miał make.exe (prawdopodobnie w podfolderze MSYS).

Należy pamiętać, że wiele projektów wymaga najpierw utworzenia makefile (na przykład za pomocą skryptu configure lub automake .am pliku) i jest to krok, który wymaga MSYS lub Cygwin. Sprawia, że ​​zastanawiasz się, dlaczego w ogóle nie chcieli dystrybuować rodzimej marki.

Po utworzeniu pliku Makefile nie jest jasne, czy natywny plik wykonywalny wymaga innego separatora ścieżki niż znak MSYS (ukośniki w przód w stosunku do ukośników wstecz). Każdy automatycznie wygenerowany plik makefile może mieć ścieżki w stylu unixowym, zakładając, że natywna marka może sobie z nimi poradzić, skompilowane wyjście powinno być takie samo.