0

私はC ++とEclipseの初心者です... CImgライブラリを使用したいのですが、そのための行を使用しただけで、以下に説明されているという問題があります:

私のコードは次のとおりです。

#include "CImg.h"   
using namespace cimg_library;   
int main() {    
CImg <unsigned char> img(640,400,1,3); 
return 0;}

そして、私が得るエラーは次のとおりです: /usr/bin/ld: cannot find -lCImg collect2: ld returned 1 exit status

昨日はたくさん検索して、見つけた多くのことを試しました。X11 ライブラリと pathread のほぼすべてを試しました。プロジェクトの設定でフラグを何度も変更しました... よろしくお願いします。

PS: g++: No such file or directory?に似た(ほぼ同じ質問)があることを知っています。しかし、私の場合、メイクファイルを変更することはできません。

4

1 に答える 1

2

CImg は、プログラムで「オンザフライ」でコンパイルされるテンプレート ベースのライブラリであるため、事前にコンパイルされていないため、libCImg.so または libCImg.a ファイルが関連付けられていません。g++ を呼び出すときにオプション「-lCImg」は必要ありません。最終的に、CImg の表示機能 (デフォルトの動作) を使用している場合は、追加する必要があります。

-lX11 -lpthread

コンパイル行に追加しますが、それだけです(CImgDisplayをまったく使用しない場合は、それらの依存関係を配置することで削除することもできます

-Dcimg_display=0

g++ でコンパイルする場合)。

于 2013-03-08T08:29:41.903 に答える