Diskuze: makefile pre windows

C++ C a C++ makefile pre windows

Avatar
Libor Šimo (libcosenior):

Ahoj,
máme napríklad tieto súbory:

main.c

#include "funkcie.h"

int main(void)
{
    kalkulacka();

    return 0;
}

funkcie.c

#include <stdio.h.>
#include <stdlib.h>
#include "funkcie.h"

double sucet(double x, double y)
{
    return x + y;
}

double rozdiel(double x, double y)
{
    return x - y;
}

double sucin(double x, double y)
{
    return x * y;
}

double podiel(double x, double y)
{
    return x / y;
}

void kalkulacka()
{
    double x, y;
    int vyber;
    char c;

    while (1) {
        system("cls");
        printf("Vitajte v kalkulacke!\n\n");
        printf("Zadajte prve cislo: ");
        scanf("%lf", &x);
        printf("Zadajte druhe cislo: ");
        scanf("%lf", &y);
        printf("\nVyberte matematicku operáciu:\n"
               "1. sucet\n"
               "2. rozdiel\n"
               "3. sucin\n"
               "4. podiel\n\n");
        scanf("%d", &vyber);
        switch (vyber) {
            case 1:
                printf("\nSucet cisiel %lf a %lf je %lf.\n", x, y, sucet(x, y));
                break;
            case 2:
                printf("\nRozdiel cisiel %lf a %lf je %lf.\n", x, y, rozdiel(x, y));
                break;
            case 3:
                printf("\nSucin cisiel %lf a %lf je %lf.\n", x, y, sucin(x, y));
                break;
            case 4:
                printf("\nPodiel cisiel %lf a %lf je %lf.\n", x, y, podiel(x, y));
                break;
            default:
                printf("\nNespravna volba!!! Koniec\n");
                break;
        }
        printf("\nPokracovat? a/n :");
        while (getchar() != '\n')
            ;
        c = getchar();
        if (c == 'a')
            continue;
        else
            break;
    }
}

funkcie.h

/* funkcia vrati sucet dvoch zadanych cisiel */
double sucet(double x, double y);

/* funkcia vrati rozdiel dvoch zadanych cisiel */
double rozdiel(double x, double y);

/* funkcia vrati sucin dvoch zadanych cisiel */
double sucin(double x, double y);

/* funkcia vrati podiel dvoch zadanych cisiel */
double podiel(double x, double y);

/* funkcia vypisuje priebeh prace kalkulacky */
void kalkulacka();

Ako správne napísať makefile pre windows a ako to potom na windowse za pomoci makefile skompilovať?

Odpovědět 8.4.2014 12:31
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Maxfx:

makefile se spouští přes konzoli

Nahoru Odpovědět 8.4.2014 14:57
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
Odpovídá na Maxfx
Libor Šimo (libcosenior):

Viem, že sa makefile spúšťa cez konzolu, ale asi treba do win nainštalovať nejaký obslužný program.
Mňa ale zaujíma aj obsah súboru makefile. Líši sa nejak od makefile v linuxe?

Nahoru Odpovědět 8.4.2014 15:16
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Libor Šimo (libcosenior):

Poprípade nie je niekde dobrý tutoriál na makefile vo win? Najlepšie v cz alebo sk?

Nahoru Odpovědět 8.4.2014 15:20
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Filip Šohajek:

Ano, pro windows existuje kompilator mingw32, ktey make obsahuje. Osobne jsem zaklady makefile pochytil po internetu, ale uplne zaklady jsem se naucil http://mrbook.org/tutorials/make/ .

 
Nahoru Odpovědět 8.4.2014 15:24
Avatar
Odpovídá na Filip Šohajek
Libor Šimo (libcosenior):

V tutoriali sa spomina aj subor function.h, ale ten nie je v ziadnom makefile zapisany. Znamena to, ze ked je includovany, pouzije sa automaticky?

Nahoru Odpovědět 8.4.2014 16:19
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Maxfx:

ne musiš ho tam napsat nebo pokud ho nemáš tak odstranit z makefile

Nahoru Odpovědět 8.4.2014 17:19
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
Odpovídá na Maxfx
Libor Šimo (libcosenior):

V 1. prispevku mam 3 subory. Ako by podla teba mal vyzerat obsah makefile?

Nahoru Odpovědět 8.4.2014 17:23
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Maxfx
Redaktor
Avatar
Nahoru Odpovědět 8.4.2014 19:23
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
Odpovídá na Maxfx
Libor Šimo (libcosenior):

Prave ze ho nemam napisany a rad by som, keby mi niekto skuseny poradil. V jednej zlozke napr. kalkulacka su subory: main.c, funkcie.c a funkcie.h. tam by sa asi mal umiestnit aj subor makefile. Ale co ma subor makefile obsahovat, aby sa projekt skompiloval, v uvedenej zlozke sa vytvoril subor kalkulacka.exe a pomocne subory main.o a funkcie.o by sa po kompilacii zmazali.

Nahoru Odpovědět 8.4.2014 19:35
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.