FreeCADをビルドしました。 パスを追加してビルドします。(006)[FreeCAD]

ホーム > 3D-CAD > FreeCAD> インストールとビルド > FreeCADのビルド環境の構築 for Windows

記事作成日 2015.01.17
最終更新日 2015.02.09

ビルド環境

FreeCADのビルド環境の構築 for Windows

Pythonは、インストール済みです。

状況

前回(005)、「coin」にビルドできない原因があるとわかりました。そこで、「coin」関するパスを考えて、ビルドします。
Windows8.1 64bit版の正常終了するビルドの方法はこちら

Gitでソースファイルを更新します

Gitでソースファイルの更新を行います。 操作方法は、「TretoiseGitで、リモートリポジトリの内容でローカルリポジトリを更新します。」に記載しています。

前回ビルドしたファイルはそのままです。

ビルド出力フォルダは、前回(005)、ビルドした時のままです。

FreeCADをビルドする

cMakeを起動します

cMakeのアイコンをクリックして起動します。
スタートウィンドウのアイコンをクリックして起動します。

起動しました。

起動します
起動しました。他に使用していないので、前回の設定がそのまま残っています。

フォルダを指定は、前回のままです。

Where is the source code.

ソースファイルフォルダを指定します。

Where is build the binaries.

ビルドされたバイナリを保存するフォルダを指定します。

Configueボタンを押します。

Configueボタンを押します。
Configueボタンを押します。

Visual Studio 12 2013 Win64 を選択してFinishを選択します。
Visual Studio 12 2013 Win64 を選択してFinishを選択します。

アラートが表示されます。

アラートが表示されます

終了しました。

終了しました。

ワーニングを確認します。

CMake Warning (dev) at CMakeLists.txt:48 (if):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.

Quoted variables like "MSVC" will no longer be dereferenced when the policy
is set to NEW. Since the policy is not set the OLD behavior will be used.
This warning is for project developers. Use -Wno-dev to suppress it.
さっぱりわかりません。前回と同じワーニングです。

Configueボタンを押します。
Generateボタンを押します。

完了です
一番したの行に「Generating done」と表示されているので成功したようです。

[coin]に関するcMakeパラメータを確認します。

[coin]に関するcMakeパラメータを確認
[coin]に関するcMakeパラメータを確認します。「FreeCADLibs_11.0_x64_VC12/lib/ 」と「FreeCADLibs_11.0_x64_VC12/include」のファイルを参照していることがわかります。

Visual Studioを起動します。

Visual Studio Communityを使用しました。
プロジェクトファイルを開きます。
Visual Studioで拡張子 slnファイルを開きます。 「FreeCAD_trunk.sln」

参照設定をします

coinでコンテキストメニューを開きます。
Visual Studioの右側に表示されているソリューションエクスプローラー内の「coin」を右クリックして コンテキストメニューを開きます。

プロパティを選択

ALL_BUILDでコンテキストメニューを開きます。
プロパティを選択します。

ダイアログが表示されます

プロパティページダイアログが表示されます。
「coin」プロパティページダイアログが表示されます。 前回(005)に、ライブラリディレクトリに、「FreeCADLibs_11.0_x64_VC12/lib/ 」を登録しています。今回、インクルードディレクトリに、「FreeCADLibs_11.0_x64_VC12/include」を登録します。 右側の「ライブラリディレクトリ」を選択し、右端のレ点アイコンをクリックします。

[編集]をクリックします。

[編集]をクリックします。
[編集]をクリックします。

新しい行のアイコンをクリックします。

新しい行のアイコンをクリックします。
ライブラリディレクトリのダイアログが表示されますので、新しい行のアイコンをクリックします。

「...」アイコンを押します。

ます。
テキストボックスが表示されますので、その右の「...」アイコンを押します。

「FreeCAD Libs」のディレクトリを選択します

「FreeCAD include」のディレクトリを選択します。
「FreeCAD Libs include」のディレクトリを選択します。

OKを押します

OKを押します。
OKを押してダイアログを閉じます。

OKを押します

OKを押します。
OKを押してダイアログを閉じます。参照設定1番最初だけで問題無いはずです。

ビルドタイプを選択します

Releaseを選択します。
今まで、ビルドタイプにReleaseを選択していましたが、多少は遅くなるとは思いますがDebugで問題無いと思います。 そこで、今回は、Debugでビルドしました。緑の右向きの再生アイコンをクリックします。

ダイアログが表示されます。

ダイアログが表示されます。
ダイアログが表示されます。「はい」を選択します。

エラーが発生してビルドが中断します。

エラーが発生してビルドが中断します。
まだ、ビルドが成功しません。手ごわいです。

エラーが発生しています。

エラーが発生しています
4 エラー、151警告です。状況が進行しました。 「Inventor/scxml/ScXMLInvoke.h」にパスが通っていないようです。

「Inventor/scxml/ScXMLInvoke.h」はどこに?

検索をかけると、「FreeCADLibs_11.0_x64_VC12\include\Inventor\scxml」にありました。 ここの、パスを「coin」のインクルードディレクトリに追加して、再度、ビルドします。

ダイアログが表示されます。

ダイアログが表示されます。
ダイアログが表示されます。「はい」を選択します。

エラーが発生しています。

エラーが発生しています
4 エラー、36 警告です。状況が進行しました。しかし、警告は減りましたが、エラーはそのままです。

「ALL_BUILD」のインクルードディレクトリに「FreeCAD Libs include」のディレクトリを追加

「coin」のパスを個別に設定するのがおかしい気がしてきました。そこで、 「ALL_BUILD」のインクルードディレクトリに「FreeCAD Libs include」のディレクトリを追加します。 そして、ビルドしてみます。

エラーが発生しています。

エラーが発生しています
4 エラー、1 警告です。状況が進行しました。しかし、警告は減りましたが、エラーはそのままです。

「SoMultiTextureEnabledElement.h」はどこ?

エラーに登場する、「SoMultiTextureEnabledElement」を検索して見ました。 「FreeCADLibs_11.0_x64_VC12\include\Inventor\elements」にありました。

「ALL_BUILD」のインクルードディレクトリにディレクトリを追加

「ALL_BUILD」のインクルードディレクトリに、以下の2つのディレクトリを追加します。
「FreeCADLibs_11.0_x64_VC12\include\Inventor\scxml」
「FreeCADLibs_11.0_x64_VC12\include\Inventor\elements」
そして、ビルドしてみます。

エラーが発生しています。

エラーが発生しています
4 エラー、1 警告です。状況が進行しました。エラーも警告もそのままです。変化ありません。 念のため、リビルドしてみます。

エラーが発生しています
警告が増えました。
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system