2016-05-01 9 views
0

Ich habe dev c eingerichtet ++ auf meinem Computer und ich versuche, die einfache C++ Hallo Welt Code damit zu kompilieren, aber es nicht kompilieren und gibt diese FehlercodesCImg Bibliothek nicht in Dev c kompilieren ++

C:\Users\Ignatius\Documents\testing.o testing.cpp:(.text$_ZN12cimg_library11CImgDisplay5paintEv[__ZN12cimg_library11CImgDisplay5paintEv]+0xb2): undefined reference to `[email protected]' 

C:\Users\Ignatius\Documents\collect2.exe [Error] ld returned 1 exit status 

25  C:\Users\Ignatius\Documents\Makefile.win recipe for target 'test.exe' failed 

Die I-Code verwendet wurde

main.cpp

#include "CImg.h" 

using namespace cimg_library; 

int main() 
{ 
    CImg<unsigned char> img(640, 400, 1, 3); 
    img.fill(0); 
    unsigned char purple[] = {225, 0, 225}; 
    img.draw_text(100, 100, "Hello world", purple); 
    img.display("My first CImg code"); 
    system("pause"); 
    return 0; 
} 

Derzeit wird diese meine einzige Datei. Ich habe CImg online heruntergeladen und Ordner im richtigen Verzeichnis abgelegt und die .h-Datei im richtigen Verzeichnis abgelegt. Es gibt keine Syntaxfehler, aber kompiliert kann mir jemand helfen?

Im Makefile.win die Linien im Assembler-Code markiert war

$(BIN): $(OBJ) 
$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS) 
+0

Sie müssen mit der richtigen Bibliothek verknüpfen - so wie es aussieht, der CIMG-Bibliothek. Lesen Sie die CImg-Dokumentation –

+0

Was meinst du? Ich habe getan, was ich angewiesen wurde – user6031759

Antwort

0

CImg ein „Header nur“ libray (wenn das hilft), so müssen Sie dagegen nicht verknüpfen. Alles, was Sie tun müssen, ist zu bestimmen, wo sich CImg.h befindet und den Compiler mit -I thatplace zu informieren.

Also, wenn CImg.h in /opt/fred ist, würden Sie

c++ program.c -I /opt/fred -o program 

tun, wenn Sie in eine Bibliothek verknüpfen müssen, wie gdi32, werden Sie wahrscheinlich -lgdi32 bis zum Ende hinzufügen müssen:

c++ program.c -I /opt/fred -lgdi32 -o program 
+0

Warte was? Nun, was, wenn ich es in dev C++ testen möchte? – user6031759

+0

Ich legte die .h-Datei in C: \ Programme \ Dev-Cpp \ MinGW64 \ x86_64-w64-Mingw32 \ include – user6031759

+0

Das ist ein C++ Problem dev. Alles was ich sage ist, dass es bei 'CImg' keine Bibliotheken gibt, mit denen man verlinken muss, und dass man dem Compiler nur sagen muss, wo die Header-Dateien sind - also die * Include * -Dateien - mit dem '-I'-Schalter oder wie auch immer du das in 'dev C++' machst. –