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 库和路径读取的所有内容。我多次更改项目设置中的标志......提前谢谢你。

PS:我知道这里有一个类似(几乎相同的问题)g++: No such file or directory?但就我而言,我无法更改makefile。

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 回答