Qt で macOS Desktop 向けのビルドができなくなった話

ある日、メインマシンの MacBook Pro(Late 2011, 古すぎてサポートされてないので Mojave ではなく High Sierra)で Chrome を使っていたら、突然クラッシュ。
今までもメインマシンで Chrome 使っているとちょくちょくクラッシュしていたので、「あーまたか」とため息付きつつ、H/W スイッチを押して再起動。
その後、Qt Creator で farman のプロジェクトを開こうとしたところ、なぜか Configure Project の画面になり、そこには Android のキットのみが並んでいて Desktop や iOS 向けのキットは見当たらず。
そこで、Qt Creator のメニューから 設定 → Kits → キットを見ると、本来既定の設定となっているはずの「Desktop Qt 5.12.x clang 64bit」は表示されておらず、さらにコンパイラを見ると Apple Clang が無い。
クラッシュ時に設定ぶっ飛んじゃったかなぁ…。

とりあえず Qt Maintainance Tool を起動して、Qt 環境を丸ごとアンインストール→再インストールしたりしたものの、状況は変わらず。
このとき、Xcode の Command Line Tools が見当たらない(うろ覚え)的なメッセージが出てきたので、Apple のダウンロードサイトから Xcode Command Line Tools をダウンロード&インストールもしてみたけど、変化なし。
今思えばこの時ちゃんと冷静になって調べていれば、その後余計なことして時間無駄にせずに済んだのだけど、内心焦ってたのでそこまで考えが至らず。

で、この時どーしたかというと、Time Machine にお願いして、クラッシュする前に戻れば解決じゃん!ってことで、本体再起動 → Command + R 押しっぱなしにして、macOS ユーティリティを起動し、「Time Machineバックアップから復元」を選択して復元を試みた。
幸い、クラッシュ前日の朝からのがいくつか復元可能だったので、一番直近且つクラッシュ前のバックアップを選んで復元開始。
DSC_2240.JPG
半日程待って復元完了したので、早速 Qt Creator を立ち上げてみると、全く状況は変わらずorz
DSC_2241.JPG
もう少し前の時間のバックアップでも同様の結果orz

完全に行き詰まった…orz

もうダメ元で Google 先生に「qt apple clang」というキーワードでお尋ねしてみると、トップに Qiita の「MacのQt開発環境構築手順」というページが。
開いて読み進めていくと、

スクリーンショット 2019-05-20 12.03.18.png

ん、あれ、そーいや Maintainance Tool から Creator インストールしようとした時、何かメッセージ出てたよな…。
Xcode を起動して、Command Line Tools の設定を見ると、見事に空欄orz
Command Line Tools を設定して Qt Creator を起動し、キットの設定を見ると、
スクリーンショット 2019-05-20 12.10.04.png

しっかり自動検出されとる…orz

ただコンパイラが設定されていないので、C・C++ 両方に「Apple Clang(x86_64)」を選択。
ついでに既定にしておいた。
スクリーンショット 2019-05-20 12.10.31.png
これでプロジェクトを開くと、Configure Project で Desktop が選択できるようになり、無事解決。
スクリーンショット 2019-05-20 11.43.41.png
ちゃんと調べれば10分で解決できたことが、冷静さを欠いたせいで結局丸一日無駄にする羽目になってしまった。
Time Machine のバックアップ及び復元がちゃんとできるという経験が得られたのと、Qt のビルド周りで何か設定がおかしくなったら、Qt だけでなくその周辺環境も疑った方がいい、という教訓を得られただけで、よしとしよう…。

この記事へのコメント