Qwtのインストールでコケて諦め
GUIクロスプラットフォーム開発環境のQtでグラフなどを簡単に扱えるようになるQwtというファームウエアがあります。
公式サイトはこちらです。
http://qwt.sourceforge.net/
ソースコード形式で配布されているので、自前の環境でビルドする必要があります。
公式には、展開したqwt-6.1.3フォルダ内で
qmake qwt.pro nmake nmake install
と叩けばC:\qwt-6.1.3にインストールされるとあります。
が、nmakeでエラーが出ました。
Qt5OpenGLd.lib(Qt5OpenGLd.dll) : fatal error LNK1112: モジュールのコンピューターの種類 'x64' は対象コンピューターの種類 'X86' と競合しています。
とのことでした。言わんとしていることはなんとなくわかりますが、どのように対処すればよいかわかりませんでした。
なお当方の環境はVisual studio 2015 64bitコンパイラ、Qt v5.7.0 64bitです。
試しに、qwt-6.1.3フォルダ内のqwt.proをQt Creatorで開き、ビルドしました。
すると、qwt-6.1.3フォルダがあるフォルダに自動生成されるbuild-qwt-Desktop_Qt_5_7_0_MSVC2015_64bit-Debugフォルダに、バイナリが生成されていました。
Makefileもあったので、そこでnmake installしたところ、C:\qwt-6.1.3にインストールされました!
こちらにあるように、designerプラグインを使おうとしたのですが、「有効なWin32アプリケーションではありません」とエラー表示があり、「失敗したプラグイン」となってしましました。
これは、Qt Creatorが32bitであることに起因するようです。
ならqwtを32bitコンパイラでビルドすればいいと思ってやってみたのですが、今度は「指定されたプロシージャが見つかりません」とエラー表示があり、designerプラグインはもうあきらめました…
Qtでcorecrt.hが見つからないと言われる問題
Qtで適当なプロジェクトを作成し、ビルドしたところ
エラー: C1083: include ファイルを開けません。'corecrt.h':No such file or directory
と言われてしまいました。まずインクルードパスを追加します。.proファイルにこれを追加します。
INCLUDEPATH += "C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt"
ファイルにたどり着くことはできているみたいですが、エラーは収まりません。
普通に実体のファイル"corecrt.h"はあるんですけどね…
調査を続けると、ひとつの解決策が見つかりました。ソースはここです。
このフォーラムに投稿したPhilipp Münzel氏によると、
"Re-run the VS2015 installer, click "Modify" and then choose to install "Universal Windows App Development Tools", which is found under "Windows and Web Development" and click update. This installs the Windows 10 SDK and fixes the problem."
だそうです。
Visual studio 2015のコンポーネントが足りないみたいなので、「ユニバーサルWindowsアプリ開発ツール」をインストールします。
インストーラを起動し、こいつにチェックをいれて、更新ボタンをクリックします。
インストール後、再起動。これでビルドが通るようになりました。
Qt環境構築
GUIを使ったソフトウエアを作る必要があったので、Qt(キュートと読みます)というフレームワークを導入しようと思います。
クロスプラットフォームなので、WindowsでもUbuntuでも同じ環境で開発できるようです。
今回はWindowsでやってみます。
Qtをこちらからダウンロード、インストールします。
Qt | Download Open Source Step 3
コンパイラは種類が選べるようですが、もともとVisual studio 2015を入れていたのでこれを使います。
Visual studioは、入れただけで全然使ってませんでした。これが躓く原因となりました…
Qtのため新規にVisual studioを入れた人も同じ道を通ると思います。
Visual studio 2015では、C++のコンパイラが追加インストールという形になっています。最初に、適当なC++のプロジェクトを作るなりしてC++のコンパイラをインストールする必要があります。
これをしてないと、ビルドに失敗して、
「ビルドする為にコンパイラの設定が必要です。」と言われてしまいます。
さらに、デバッガもインストールが必要です。
こちらからDebugging Tools for Windowsをダウンロードしインストールします。
WDK と WinDbg のダウンロード - Windows ハードウェア デベロッパー センター
コンパイラやデバッガは、Qtのほうで基本的に自動認識してくれます。
これでGUI開発環境を整備できました。