2016-05-01 8 views
0

のDev C++でコンパイルし、それを持つ単純なC++のHello Worldコードをコンパイルしようとしていますが、それはコンパイルできないと得られないこれらのエラーコード CIMGライブラリは、私は自分のコンピュータ上のdevのC++を設定している

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 

私が使用したコードは、現在、これが私の唯一のファイルである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; 
} 

ました。私はCImgのオンラインをダウンロードして、適切なディレクトリに.hファイルを入れました。正しいディレクトリには構文エラーはありませんが、誰かが助けてくれますか? (その場合に役立ちます)行はアセンブリコードで強調表示Makefile.winで

だった

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

あなたは正しいライブラリ(cimgライブラリのように見える)とリンクする必要があります。 CImgのドキュメント –

+0

を読むことはどういう意味ですか?私は指示されたことをした – user6031759

答えて

0

CImgあなたがそれにリンクする必要はありませんので、「ヘッダーのみ」 librayです。 CImg.hがどこにあるかを特定し、-I thatplaceでコンパイラに伝えるだけです。

CImg.h/opt/fredにあるのであれば、あなたは

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

をするだろうあなたがそのようなgdi32として、ライブラリにリンクする必要がある場合は、おそらく最後に-lgdi32を追加する必要があります。

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

待って? dev C++でテストしたいのですが? – user6031759

+0

.hファイルをC:¥Program Files¥Dev-Cpp¥MinGW64¥x86_64-w64-mingw32¥includeに入れます。 – user6031759

+0

これはdev C++の問題です。私が言っているのは、 'CImg'では、リンクする必要のあるライブラリがなく、ヘッダファイルがどこにあるかをコンパイラに伝えるだけです。つまり、' Include * 'ファイルは '-I'スイッチを使ってあるいは、あなたは 'dev C++'でそれを行います。 –

関連する問題