03. december 2003 - 13:52Der er
13 kommentarer og 1 løsning
Forklaring på koblingen af filer!
Hej eksperter
Lige et spørgsmål fra en ny i C++
Jeg har lavet en header-fil, Verylong.h, der indeholder en klasse, verylong, med deklarationer (ikke definitioner) af forskellige funktioner. Jeg har så også lavet en fil, Verylong.cpp, der indeholder alle definitionerne på de forskellige funktioner i verylong. Dette gøres fx vha. verylong::getvl() for funktionen getvl() Jeg har så en ny fil, Vl_app.cpp, der skal benytte sig af klassen verylong. Jeg har derfor som første linie i denne fil: #include "Verylong.h" (filerne ligger i samme bib) Men når forsøger at kompilere Vl_app.cpp, siger linkeren: ---------- Capture Output ---------- "bcc32.exe" Vl_app.cpp Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland Vl_app.cpp: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external 'verylong::operator *(const verylong)' referenced from C:\DOCUMENTS AND SETTINGS\K\MY DOCUMENTS\VL_APP.OBJ Error: Unresolved external 'verylong::putvl() const' referenced from C:\DOCUMENTS AND SETTINGS\K\MY DOCUMENTS\02393\UGE11\VL_APP.OBJ Terminated with exit code 1
Er det fordi, den ikke kan finde Verylong.obj?? Eller hvad er der galt? Sikkert bare en newbie-30-50-fejl, men nu har jeg rodet med det et stykke tid! Plz help!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
ups - biblioteket, som linkeren refererer til, er selvfølgelig det samme i begge fejl - jeg kom vist bare til at slette lidt af den ene ved indsættelsen!
arne_v >>> hvordan skal dette gøres? Lige nu kompilerer jeg Vl_app.cpp vha. Borlands compiler, dvs med: bcc32 Vl_app.cpp Linker den så ikke automatisk det der skal linkes, eller skal jeg gøre det mere manuelt?
Men meningen var jo egentlig, at Verylong.h skulle kunne inkluderes i toppen af enhver fil og dermed skulle funktionerne kunne bruges. Burde man ikke kunne det vha. den oprettede obj-fil? smid i øvrigt et svar, så du kan få p.!
hvis man nu fx ønsker IO, kan man sige #include <iostream> dermed finder den iostream (.h eller .obj??) i ens include/lib bib. ikke? men så kan jeg vel lave noget lignende i Vl_app kan jeg ikke?
jamen det jeg så ikke forstår er, at når jeg i ovenstående eksempel inkluderer Verylong.h, hvorfor finder bcc32 så ikke også automatisk min implemtation som ligger i Verylong.obj??
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.