首页 文章

在qmake项目中链接libcairo

提问于
浏览
0

我有一个qmake项目,我需要在ubuntu桌面上链接libcairo .

我已使用 sudo apt-get install libcairo2-dev 将库下载到系统 .

命令 sudo apt-get install libcairo2-dev 给我输出 -

I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -lcairo

我可以用_编译 main.cpp

cc main.cpp -o main -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -lcairo

包含cairo Headers 的程序为 #include <cairo.h>

但我无法编译qmake项目,并在 .pro 文件中添加了以下qmake标志

LIBS += -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -lcairo

还有一个额外的要求,我需要在自定义工具链上链接这个库(嵌入式linux,yocto包) . 有人可以帮我解决这个问题吗?

如何使用交叉编译器指定包含路径?我如何有条件地指定包含桌面构建的路径以及目标构建?(两者都使用不同的sdk)

1 回答

  • 1

    您需要添加以下内容:

    LIBS+= -lcairo
    
    INCLUDEPATH+=/usr/include/cairo
    INCLUDEPATH+=/usr/include/glib-2.0 
    INCLUDEPATH+=/usr/lib/x86_64-linux-gnu/glib-2.0/include
    INCLUDEPATH+=/usr/include/pixman-1
    INCLUDEPATH+=/usr/include/freetype2
    INCLUDEPATH+=/usr/include/libpng12
    

    对于yocto配方,它应该很简单,你只需要在配方中添加以下行:

    DEPENDS = "cairo"
    

相关问题