X11を使用してgetPixelColor関数を構築しようとしています:
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
void getPixelColor (Display *d, int x, int y, XColor *color)
{
XImage *image;
image = XGetImage (d, RootWindow (d, DefaultScreen (d)), x, y, 1, 1, AllPlanes,
XYPixmap);
color->pixel = XGetPixel (image, 0, 0);
XFree (image);
XQueryColor (d, DefaultColormap(d, DefaultScreen (d)), color);
}
int main(int argc, const char * argv[])
{
return 0;
}
ただし、次のエラーが表示されます。リンク中のようです。
Undefined symbols for architecture x86_64:
"_XGetImage", referenced from:
_getPixelColor in main.o
"_XFree", referenced from:
_getPixelColor in main.o
"_XQueryColor", referenced from:
_getPixelColor in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
問題が何であるか考えていますか?X11 は、自分のプロジェクトでライブラリとしてリンクするフレームワークではなかったという印象を受けました。正しいヘッダーを提供する限り、問題はありません...これは間違っていますか?