C und C++ linken



  • Hallo,

    ich habe das gerade schon im C++ Forum gepostet, da wurde mir aber gesagt, ich sollte es evtl. mal hier versuchen, also darum ein doppelposting:

    ich habe im Internet einen schönen C-Code gefunden habe, der Testinstanzen für ein Bin Packing Problem generiert, und diese dann löst. Nun will ich anhand dieser Testinstanzen meinen eigenen ALgorithmus den ich in C++ geschrieben habe testen, nur mag das irgendwie nicht so wie ich. Dazu muss ich sagen, dass ich mittlerweile zwar in das Coden reingearbeitet habe, aber nicht wirklich so den Durchblick habe, was beim Linken passiert. Dabei gibts aber den Fehler und ich bin ziemlich ratlos.
    Hier mal den main-Teil des C-Codes, bei dem die FUnktion zum Lösen des Problems aufgerufen wird. Ich habe einfach meine Funktion so angepasst, dass sie genauso aufgerufen werden kann.

    int main(int argc, char *argv[]) 
    { 
      int v, n, mindim, maxdim, fillpct, maxtyp; 
      item *f, *l; 
      int W, H, D, cvol, vol, miss; 
      item tab[MAXITEMS]; 
      int w[MAXITEMS], h[MAXITEMS], d[MAXITEMS]; 
      int x[MAXITEMS], y[MAXITEMS], z[MAXITEMS], k[MAXITEMS]; 
      double time, sumtime, sumfill, sumn, summiss; 
      char s[100]; 
    
        /* now do the packing */ 
        timeused(NULL); 
        contload(n, W, H, D, w, h, d, x, y, z, k, &vol); 
        timeused(&time); 
    
      return 0; /* correct termination */ 
    }
    

    Der eigentliche COde ist länger, habe aber hier der Übersichtlichkeit einiges rausgenommen, wo ich dachte, dass es eh unwichtig ist.
    Hier noch die genaue Fehlermeldung:
    [Linker Fehler] Unresolved external '_contload' referenced from D:\DATEN\DA\MEINE DATEN\PISINGER_DATA\TESTCONT.OBJ

    Ich benutze Borland c++ Builder 6, falls das noch irgendetwas zur Sache beiträgt

    Also ich hoffe, mir kann jemand helfen, oder braucht man da noch mehr Infos ? Ich bin wirklich gerade total auf dem SChlauch..

    Vielen Dank,
    CHrissi



  • Hast du die cpp in der contload definiert wird, auch in dein Projekt eingebunden ?
    Bitte benutze das nächste Mal die Code-Tags. Dein Quelltext ist dann einfacher zu lesen.
    Warum eigentliche 3-mal ?



  • sorry für das 3mal da hat wohl was beim kopieren von einem forum ins naechste was nicht geklappt, und ich habs nicht nochmal kontrolliert.

    ja, ich habe eigentlich beide Dateien eingebunden die testcont.c in der die main steht und die beispiele generiert werden und container.cpp in der der contload algorithmus beschrieben wird.

    bin echt ziemlich ratlos.. noch irgendeine andere idee ?

    vielen dank,
    chrissi


Anmelden zum Antworten