Chyba pri kompilácii

Sekcia: Programovanie 19.03 | 18:19
Avatar caopyp linux mint 18 mate-64-bit  Používateľ

Zdar naskytol sa takýto problem nemôžem poskytnúť celý cod preto môj problem uvediem na jednoduchom príklade. Makefile nepracuje tak ako som čakal a po spustení

$make main
gcc -std=c11 -Wall -Werror main.c -c -lm -o main.o
gcc   main.o  -lm -o main
main.o: In function `main':
main.c:(.text+0x86): undefined reference to `xxxxx'
main.c:(.text+0x11c): undefined reference to `yyyyy'
main.c:(.text+0x141): undefined reference to `zzzzzzzz'
main.c:(.text+0x16d): undefined reference to `uuuuuuuu'
main.c:(.text+0x1b7): undefined reference to `ssssssss'
collect2: error: ld returned 1 exit status
<builtin>: recipe for target 'main' failed
make: *** [main] Error 1

problém som asi pochopil ale neviem analyzovať kde je chyba. Je jasne je prekladač asi neviem ake premenné ma dať do funkcii alebo niečo také.Prekladač a prepinače

$ gcc -std=c11 -Werror -Wall -lm

A teraz sa chcem dostať k podstate veci názorný príklad : mian

#include "x.h"
#include "y.h"
#include <stdio.h>
#include <stdbool.h>


int main(){
struct nazov nazov = {
 .pole,
 .i,
};

bool a=funkcia(nazov1);

druhy subor.c

#include "y.h"
#include <stdio.h>
bool funkcia(const struct nazov nazov)
{
.
.
.
.
}

y.h

struct nazov {

    char board[5][5];

    int i;
};
bool funkcia(const struct nazov nazov);

tak kde je chyba hmm .

    • RE: Chyba pri kompilácii 19.03 | 18:22
      Avatar caopyp linux mint 18 mate-64-bit  Používateľ
      zle 
      bool a=funkcia(nazov1);
      
      tak som to chcel 
      
      bool a=funkcia(nazov);
    • RE: Chyba pri kompilácii 19.03 | 19:09
      Avatar WlaSaTy   Návštevník

      Asi by si mal skompilovať aj subor.c obsahujúci mysteriózne funkcie s názvami ssssssss (a p.) na subor.o a ten následne prilinkovať pri linkovaní main.

      • RE: Chyba pri kompilácii 19.03 | 19:24
        Avatar caopyp linux mint 18 mate-64-bit  Používateľ

        v makefile kompilujem aj subor.c a prepínačom vytvorím subor.o ale nechapem "prilinkovať" k main-u ?

    • RE: Chyba pri kompilácii 19.03 | 20:18
      Avatar Dušan_Kreheľ Debian  Používateľ

      Viď prílohu.

      • RE: Chyba pri kompilácii 19.03 | 21:11
        Avatar caopyp linux mint 18 mate-64-bit  Používateľ

        diky pomohlo