
Ubuntu日本語フォーラム

ログインしていません。
//cairo
#include<cairo/cairo-svg.h>
#include<math.h>
#define SVG_WIDTH 500
#define SVG_HEIGHT 500
#define SVG_RADIUS 200
#define SVG_FILE "test.svg"
int main(int argc, char* argv[]){
cairo_surface_t* svg = cairo_svg_surface_create(SVG_FILE, SVG_WIDTH, SVG_HEIGHT);
cairo_t* cr = cairo_create(svg);
double angle, x, y;
cairo_set_line_width(cr, 10);
cairo_move_to(cr, 250, 50);
for(angle = 90.0; angle <= 810.0; angle += 144.0){
x = SVG_WIDTH / 2 + SVG_RADIUS * cos(angle * M_PI / 180);
y = SVG_HEIGHT / 2 - SVG_RADIUS * sin(angle * M_PI / 180);
cairo_line_to(cr, x, y);
}
cairo_close_path(cr);
cairo_stroke(cr);
cairo_destroy(cr);
cairo_surface_destroy(svg);
return 0;
}
このプログラムを作ってコンパイルしようとしました。
gcc -Wall -o "cairo" "cairo.c" 'pkg-config cairo --cflags --libs' -lm
これがコンパイルコードですが
gcc: error: pkg-config cairo --cflags --libs: そのようなファイルやディレクトリはありません
と出てきてコンパイルが失敗します
原因は何でしょうか?教えてください。
オフライン
ryuusei012 による投稿:
gcc -Wall -o "cairo" "cairo.c" 'pkg-config cairo --cflags --libs' -lm
これがコンパイルコードですが
gcc: error: pkg-config cairo --cflags --libs: そのようなファイルやディレクトリはありません
と出てきてコンパイルが失敗します
`pkg-config cairo --cflags --libs`
は、バッククォートで囲んでますか?
オフライン
ryuusei012 による投稿:
バッククオートで囲むんですか
試してみます。
pkg-config cairo --cflags --libs
この部分は、gcc に、コンパイル、リンクのオプションを伝えるために、コンパイルに先立ち、実行しなければいけません。
バッククオート[ 若しくは $() ]で囲むと、その中身をコマンドとして処理し、その結果を出力します。
オフライン