お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2012-11-06 21:24:18

futatsuya710
メンバ
登録日: 2012-08-27

GTK+のコンパイルにエイリアスが使えません

よろしくお願いします。
OSは12.10(64bit)、gccバージョンはUbuntu/Linaro 4.7.2-2ubuntu1です。

GTK+のCファイルをコンパイルするのに、
gcc ファイル名.c -o ファイル名 $(pkg-config --cflags --libs gtk+-3.0)
と入力する文字数を減らすため、
alias gtk3='$(pkg-config --cflags --libs gtk+-3.0)'
と入力した後、
gcc ファイル名.c -o ファイル名 gtk3
でコンパイルすると、
gcc: エラー: gtk3: そのようなファイルやディレクトリはありません
と返されます。
aliasコマンドで確認すると、
alias gtk3='$(pkg-config --cflags --libs gtk+-3.0)'
が登録されている事が確認できます。

gcc ファイル名.c -o ファイル名 $(pkg-config --cflags --libs gtk+-3.0)
であれば、正常にコンパイルできるのですが。
また、
alias cdgtk='cd /home/ユーザー名/gtk'
入力後、、cdgtkでカレントディレクトリの移動はできます。
gccコマンドでは、aliasは使えないのでしょうか?
楽さを求める質問で恐縮なのですが、ご回答いただけると助かります。
よろしくお願い致します。

オフライン

 

#2 2012-11-06 22:37:38

epii
メンバ
登録日: 2008-12-11

Re: GTK+のコンパイルにエイリアスが使えません

alias コマンドは「実行する *コマンド* のエイリアスを作成する」ものなので、引数に使うことはできません。
(詳しくは alias コマンドの解説をしている web サイトや bash の man ページなどをお読みください)
このような目的では、普通は以下のようにシェル変数を利用します。
$ GTK3_PKG_CONFIG=`pkg-config --cflags --libs gtk+-3.0`
$ gcc ファイル名.c -o ファイル名 $GTK3_PKG_CONFIG

なお、Makefile などのビルドツールを利用すると毎回コマンドを打ち込む必要がなくなるので、
そちらを利用されることをおすすめします。

オフライン

 

#3 2012-11-06 23:02:57

futatsuya710
メンバ
登録日: 2012-08-27

Re: GTK+のコンパイルにエイリアスが使えません

epii様、アドバイスありがとうございます。
aliasを知った例では、gcc自体を含んでいたので、成功していたのだと理解できました。

GTK3_PKG_CONFIG=`pkg-config --cflags --libs gtk+-3.0`
を試してみました。これは成功したのですが、
gcc ファイル名.c -o ファイル名 $GTK3_PKG_CONFIG
では
gcc: エラー: pkg-config: そのようなファイルやディレクトリはありません
gcc: エラー: 認識できないコマンドラインオプション ‘--cflags’ です
gcc: エラー: 認識できないコマンドラインオプション ‘--libs’ です
gcc: エラー: gtk+-3.0: そのようなファイルやディレクトリはありません
と返されてしまいました。
Makefileを勧めていただいたので、そちらの方を調べてみたいと思います。

aliasについて、引数には使えない事を知ることができました。
誠にありがとうございました。

オフライン

 

#4 2012-11-07 01:46:20

epii
メンバ
登録日: 2008-12-11

Re: GTK+のコンパイルにエイリアスが使えません

futatsuya710様

解決されたようで何よりです。

ところで以下のエラーについてなのですが、

GTK3_PKG_CONFIG=`pkg-config --cflags --libs gtk+-3.0`
を試してみました。これは成功したのですが、
gcc ファイル名.c -o ファイル名 $GTK3_PKG_CONFIG
では
gcc: エラー: pkg-config: そのようなファイルやディレクトリはありません
gcc: エラー: 認識できないコマンドラインオプション ‘--cflags’ です
gcc: エラー: 認識できないコマンドラインオプション ‘--libs’ です
gcc: エラー: gtk+-3.0: そのようなファイルやディレクトリはありません
と返されてしまいました。

かなり紛らわしいですが、一行目の「`」はバッククォート (日本語配列なら Shift+@) です。
シングルクォート (「'」日本語配列なら Shift+7) と間違えていませんでしょうか?

オフライン

 

#5 2012-11-07 11:56:35

futatsuya710
メンバ
登録日: 2012-08-27

Re: GTK+のコンパイルにエイリアスが使えません

epii様、重ね重ねご助言いただき、ありがとうございます。
おっしゃる通り、'(Shift+7)を使っていました。
`(Shift+@)に直した所、コンパイルに成功しました。
また一つ、勉強になりました。

オフライン

 

Board footer

Powered by FluxBB