HBP2 Praktikant
27. marts 2011 - 11:49 Der er 1 løsning

linking af c++

Her på det sidste er jeg er vist begyndt at blive dum. Jeg skal kompile/linke et mindre program i c++ v.h.a. g++ og normalt er det ikke noget problem, men nu har jeg altså af forskillge grunde valgt at skrive makefilen fra bunden istedetfor at genbruge en gammel makefile - og jeg kan ikke få det til virke, den forbandede "undefined reference to..." fejl dukker op.

Jeg har reduceret det til det absolut simplest eksempel. Kompilering går fint, men linking fejler med:
  main.cc:(.text+0x12): undefined reference to `mem_init'
Nogen der kan sige hvad der er galt:


Makefile:

CC            = g++
INCLUDES      = -I. -I..
CPPFLAGS      += $(INCLUDES)
LIBS          =
OBJECTS      = mem.o main.o

all:        test

test:  $(OBJECTS)
        $(CC) $(OBJECTS) -o test $(LIBS)

main.o: main.cc mem.h
mem.o: mem.cc


main.cc:

#include <stdio.h>
#include "mem.h"
int main(int argc, char *argv[]) {
  mem_init();
  return 0;
}


mem.cc:

#include <stdio.h>
void mem_init() {
}


mem.h:

#ifndef __MEM_H__
#define __MEM_H__

#ifdef __cplusplus
extern "C" {
#endif

void mem_init();

#ifdef __cplusplus
}
#endif

#endif
HBP2 Praktikant
27. marts 2011 - 12:01 #1
glem det, fandt selv fejlen: mem.cc inkluderede ikke mem.h
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
I Hvidovre står Danmarks måske mest sikre hardware-enhed - anvendes af efterretningstjenester verden over
Reportage: Nede i en kælder i Hvidovre opbevares Danmarks måske sikreste hardware-enheder. Det har kostet flere millioner at opbygge denne sikkerhed, men reelt gør det ikke noget, hvis der sker indbrud. Kom med ned i sikkerhedsvirksomheden Arbits kælder og se, hvad det er, der er gemt bag fire låse, et metalgitter og to sikkerhedsskabe.
Computerworld
Sundhed.dk er klar med vaccinepas: Sådan finder du det
Regeringen har sendt et digitalt coronapas i udbud, men allerede nu kan du få adgang til et digitalt vaccinepas, der dokumenterer din vaccinationsstatus.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
White paper
Netteam ProSupport webinar
Er du IT-ansvarlig i en mindre eller mellemstor virksomhed? På dette webinar giver vi vores deltagere en fuld opdatering på de mest relevante områder inden for netværk og IT-sikkerhed sammen med Cisco.