CImg与Eclipse链接错误(C ++)

时间:2018-01-19 21:57:41

标签: c++ eclipse cimg

我试图运行一个在Eclipse中使用CImg的简单程序:

#include <iostream>
#include<X11/Xlib.h>
#include "CImg.h"

using namespace cimg_library;

int main()
{
    // read a jpg image
    CImg<float> imgin("frog.jpg");
    CImg<float> black_white;
    // do some computation on the pixels (R,G,B values)
    for(int i=0; i<100; i++)
        for(int j=0; j<10; j++)
            imgin(i,i+j,0) = imgin(i,i+j,1) = imgin(i, i+j, 2) = 0;
    // write image back
    imgin.save("frog2.jpg");
    black_white = imgin.get_RGBtoYCbCr().get_channel(0);
    black_white.save("frog3.jpg");
    return(0);
}

但我收到此错误:

g++ -O3 -Wall -std=c++11 -lX11 -L/usr/X11R6/lib -lm -pthread -MMD -MP -MF"src/per_iniziare.d" -MT"src/per_iniziare.d" -o "src/per_iniziare.o" "../src/per_iniziare.cpp"
    /tmp/cc1l38bP.o: In function `cimg_library::CImgDisplay::paint(bool) [clone .part.18]':
    per_iniziare.cpp:(.text+0x4f2): undefined reference to `XPutImage'
    per_iniziare.cpp:(.text+0x625): undefined reference to `XSendEvent'
    /tmp/cc1l38bP.o: In function `cimg_library::CImgDisplay::move(int, int) [clone .part.142]':
    per_iniziare.cpp:(.text+0x101a): undefined reference to `XMoveWindow'

如您所见,看起来正确的库已链接

g++ -O3 -Wall -std=c++11 -lX11 -L/usr/X11R6/lib -lm -pthread [...]

,实际上,如果我尝试使用

在终端中手动编译.cpp文件

g++ -O3 -o try main.cpp -L/usr/X11R6/lib -lm -lX11 -pthread

它完美无缺。

我还尝试通过转到Project&gt;来指定库。属性&gt; C / C ++ Build&gt;设置,但没有任何变化。

eclipse build settings

0 个答案:

没有答案