今までQtのデモのコンパイルとか、ちゃんと通って動いていたと思うのですが
なぜか、デモをビルドしようとすると下記のエラーになります。
:-1: エラー: g++-4.2: No such file or directory
気持が悪いので、Xcodeもuninstall、Qtもuninstallして再度
Xcode、Qt_SDK_Mac64_online_v1_1_4_en.dmg
をインストールしたのですが、状況がかわりません。
前と変わったのは、Qt Creatorが2.4.0に自動的になったぐらいなのですが、
誰か同じような症状が出ている方はいらっしゃるでしょうか?
Qtは4.7.4 (64 bit) で、OSはLIONです。
それと
Qt Creator -> 環境設定… -> Qt4 -> Qt Versions
が無くなっていて、Qt のライブラリが正しく設定されていることの確認が
できないのですが、どこに行っちゃんたんでしょうか?
On 2011/12/19, at 20:07, himamura wrote:
> himamuraです。
>
> 今までQtのデモのコンパイルとか、ちゃんと通って動いていたと思うのですが
> なぜか、デモをビルドしようとすると下記のエラーになります。
>
> :-1: エラー: g++-4.2: No such file or directory
>
> 気持が悪いので、Xcodeもuninstall、Qtもuninstallして再度
> Xcode、Qt_SDK_Mac64_online_v1_1_4_en.dmg
> をインストールしたのですが、状況がかわりません。
>
> 前と変わったのは、Qt Creatorが2.4.0に自動的になったぐらいなのですが、
> 誰か同じような症状が出ている方はいらっしゃるでしょうか?
> Qtは4.7.4 (64 bit) で、OSはLIONです。
Twitter に書きましたが、GccToolChain::mkspec() で、GCC 4.2なら、macx-g++42
とハードコードしているだけなのと、以下のように Xcode のインストールのされ
方に相違もありました。Xcode 4.2 と Xcode 4.2.1 での違いかもしれません。
==== オフィスの Lion
$ ls -l /usr/bin/*gcc*
lrwxr-xr-x 1 root wheel 12 10 31 09:59 /usr/bin/gcc@ -> llvm-gcc-4.2
lrwxr-xr-x 1 root admin 52 10 31 09:59 /usr/bin/i686-apple-darwin11-llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 10 31 09:59 /usr/bin/llvm-gcc@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 10 31 09:59 /usr/bin/llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2
$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$
Qt Creator は、「ビルドして実行」の「Qt バージョン」で、qmake の mkspec
が macx-g++ と判断していますが、qmake の実行では、前述のハードコード値
macx-g++42 を qmake -spec に渡してしまっています。
==== 自宅の Lion
$ ls -l /usr/bin/*gcc*
lrwxr-xr-x 1 root wheel 12 10 22 11:47 /usr/bin/gcc@ -> llvm-gcc-4.2
-rwxr-xr-x 1 root wheel 113024 5 16 2011 /usr/bin/gcc-4.2*
-rwxr-xr-x 1 root wheel 562992 5 16 2011 /usr/bin/i686-apple-darwin11-gcc-4.2.1*
lrwxr-xr-x 1 root admin 52 10 22 11:47 /usr/bin/i686-apple-darwin11-llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 10 22 11:47 /usr/bin/llvm-gcc@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 10 22 11:47 /usr/bin/llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2
$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$
こちらは、gcc-4.2 があるのでうまく行ってしまいます。
# iOS の SDK も gcc と gcc-4.2 で同様なことがありました。
対処方法は、gcc-4.2 のシンボリックリンクを作ってしまう。あるいは、
GccToolChain::mkspec() でハードコードで済ませずに、gcc-4.2 があるか
どうかをチェックして、なければ、フォールバックで macx-g++ にするようにでもする
とかでしょうか。現実的にはこうしても問題はありません。
> それと
> Qt Creator -> 環境設定… -> Qt4 -> Qt Versions
> が無くなっていて、Qt のライブラリが正しく設定されていることの確認が
> できないのですが、どこに行っちゃんたんでしょうか?
これは、「ビルドして実行」になっていると以下のところに書かれていました。
http://labs.qt.nokia.com/2011/12/13/qt-creator-2-4-0-released/
If you are confused where the Qt version settings have gone:
They are now in the “Build & Run” category, together with the tool
chain and the general project settings.
himamuraです。いつもお世話になります。
返事が遅くなりました。
私の能力からして、シンボリックリンクでの対応をしてみました。
macbook-pro:/ himamura$ ls -l /usr/bin/*gcc*
lrwxr-xr-x 1 root wheel 12 12 19 18:29 /usr/bin/gcc -> llvm-gcc-4.2
-rwxrwxr-x 2 root admin 117152 11 4 06:09 /usr/bin/gcc-4.2
lrwxr-xr-x 1 root admin 52 12 19 18:29
/usr/bin/i686-apple-darwin11-llvm-gcc-4.2 ->
../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 12 19 18:29 /usr/bin/llvm-gcc ->
../llvm-gcc-4.2/bin/llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 12 19 18:29 /usr/bin/llvm-gcc-4.2 ->
../llvm-gcc-4.2/bin/llvm-gcc-4.2
と言う事で、/use/bin/ にgcc-4.2ができたいのですが、状況が変わりませんでした。
やり方としては
$ sudo ln ../llvm-gcc-4.2/bin/llvm-gcc-4.2 gcc-4.2
としたのですが間違っていますでしょうか?
2011年12月19日21:46 Kenji Sugita <ke...@j04.itscom.net>:
いや、まだ、解決できてなくて ^^;
> 済みません引用し仕方がまずかったです。g++-4.2 の方もシンボリックリンクしてみてください。
すみません。私、この程度のヒントでは解決できないんです ^^;
何を何にシンボリックリンクすれば良いのでしょうか?
2011年12月25日11:49 Kenji Sugita <ke...@j04.itscom.net>:
On 2011/12/25, at 13:38, himamura wrote:
> 杉田さん
>
> いや、まだ、解決できてなくて ^^;
>
>> 済みません引用し仕方がまずかったです。g++-4.2 の方もシンボリックリンクしてみてください。
>
> すみません。私、この程度のヒントでは解決できないんです ^^;
> 何を何にシンボリックリンクすれば良いのでしょうか?
g++ と同じリンクにしてみてください。
# cd /usr/bin
# ls -l g++
lrwxr-xr-x 1 root wheel 12 10 31 09:59 g++@ -> llvm-g++-4.2
# ln -s llvm-g++-4.2 g++-4.2
gcc-4.2 の方は、gcc-4.2 のハードリンクを rm で切ってから、再度シンボリックリンクしてください。
# rm gcc-4.2
# ln -s llvm-gcc-4.2 gcc-4.2
これで、Qt Creator 2.4 で使えるようになるはずです。
ありがとうございました。g++が無いというエラーは無くなりました。
けど、ビルドするとエラーの出まくりなので、また、色々見てみます。
前は、サンプルは簡単にビルドできたのにな~
2011年12月25日13:55 himamura <hironobu...@gmail.com>:
On 2011/12/25, at 14:20, himamura wrote:
> ありがとうございました。g++が無いというエラーは無くなりました。
うまく行って、よかったです。
> けど、ビルドするとエラーの出まくりなので、また、色々見てみます。
> 前は、サンプルは簡単にビルドできたのにな~
エラーメッセージを教えていただけますか。何か分かるかもしれません。