A menos que você tenha necessidade de uma versão do Cairo diferente do que o Ubuntu fornece, siga a resposta da A.B.
Se você quiser usar o Cairo instalado manualmente, faça o seguinte.
O problema é que o libcairo instala seu cairo.h
to /usr/local/include/cairo/
e não /usr/local/include/
(ou seja, um diretório mais profundo)
Você deve passar este diretório para o compilador com a opção -I
.
g++ -I/usr/local/include/cairo/ -o screenshot screenshot.cpp
Você provavelmente encontrará um erro de linker - o linker não saberá procurar por libcairo e erros em símbolos não resolvidos. Então, vamos dar a g++
mais alguns parâmetros.
g++ -I/usr/local/include/cairo/ -L/usr/local/lib -o screenshot screenshot.cpp -lcairo
-lcairo
diz ao vinculador para procurar por uma biblioteca chamada cairo
e -L/usr/local/lib
fornece ao vinculador um diretório extra para pesquisa.
Observe que a ordem dos parâmetros é importante com -l
- - ele deve ser colocado após os arquivos de origem ou objeto. [1] (Neste caso, após screenshot.cpp
)
Isso deve ser suficiente para compilar seu binário.
pkg-config
é uma ferramenta para automatizar essas coisas. Ele fornece os parâmetros de linha de comando necessários para compilar um programa usando uma biblioteca específica. Eu acho que muitas vezes overshoots e acaba ligando contra várias bibliotecas que não são realmente necessárias. A maneira manual é melhor nesse assunto.
[1] Ou então eu acho. Eu sinceramente não consigo entender o que essa página de manual do GCC está tentando dizer.