我试图编译一个使用Cmage库(http://cimg.sourceforge.net)的测试文件。
我已经生成了.o文件,但显然这个文件使用的是X11库,我在链接时遇到了一些问题。
如果我这样做:
g ++ -o test CImg_demo.o
我明白了:
架构x86_64的未定义符号: " _XAllocClassHint",引自: CImg_demo.o中的cimg_library :: CImgDisplay :: _ assign(unsigned int,unsigned int,char const *,unsigned int,bool,bool) " _XCheckMaskEvent",引自: CImg_demo.o中的cimg_library :: CImgDisplay :: _ events_thread(void *) 等等
如果我这样做:
g ++ -o test CImg_demo.o -lX11
我明白了:
ld:找不到-lX11的库 collect2:ld返回1退出状态
由于我的OS X是mavericks,X11已经在/ opt / X11 / lib /中安装了XQuartz 所以我尝试添加该目录,其中所有.dylib文件都在行的开头,如下所示:
g ++ -L / opt / X11 / lib / -o test CImg_demo.o
但我得到完全相同的引用问题。
有谁知道如何查找包含所有目标文件的目录以正确进行链接?
提前谢谢。