記事作成日 2015.01.11
最終更新日 2015.02.09
Windows8.1 64bit版の正常終了するビルドの方法はこちら
背景
cMakeで、一度「FreeCAD Libs」の参照パスを指定しているのに、再度、Visual Studioで指定する必要があるのかは不思議です。
しかし、パスが通っていないと、dllをFreeCADが見つけられないので、エラーが発生して起動できません。
FreeCADをWindowsで実際にビルドしてみると、
Visual Studioへ「FreeCAD Libs」の参照をどう設定すればいいのかよくわからないことに気がつきました。
そこでこのページでは、FreeCADをビルドする際のVisual Studio VC++への参照設定について調べてみました。
概略
FreeCADをWindowsでビルドするためには、「FreeCAD Libs」にパスを通しておく必要があります。
そのためには、おおきく分けて2つの方法があります。
選択可能な手段として、「FreeCAD Libs」をパス参照される位置に配置する方法と新たにパスを指定する方法です。
プロジェクトとしての方向は明示されていないので、開発者それぞれによって選択が異なります。
パス参照される位置に配置する
Visual Studio VC++では、メニューから参照パスを指定できないので、こちらの方法を選択している場合が多いようです。 まめに、更新を反映させる場合、複数のバージョンをパソコン内に共存させる場合、めんどくさいという問題があります。
ビルドで生成されたbinディレクトリ内に入れる。
ビルドで生成されたbinディレクトリ内に「FreeCAD Libs」のbinディレクトリをコピーして入れる。
プロジェクトディレクトリに入れておく
プロジェクトフォルダ内に、「FreeCAD Libs」を入れておきます。
新たにパスを指定する
Visual Studio 2010 C++ の “VC++ ディレクトリ” 設定はどこへ? (外部サイト)
[構成プロパティ]→[実行可能ファイルディレクトリ]で設定する
ファイルに記述する
リンク先 (外部サイト)に記述されています。
ライブラリの使用方法、VisualStudioの設定方法 (外部サイト)
[コンピュータ]→[プロパティ]→[システムの詳細設定]→[環境変数]でパスを追加します。
Visual C++ 2010 ExpressでVC++ディレクトリを設定する方法 (外部サイト)
VisualStudioのexpress版を使うときはヘッダやライブラリへのパスを設定しよう(64bitOSのみ?)Add Star (外部サイト)
結論
ビルド頻度が低い時は、パスの通っている位置に「FreeCAD Libs」を配置したほうがよさそうです。
「 FreeCADをビルドしました。 まだ、ビルドに成功していません。(004) 」では、Visual Studioの右側に表示されているソリューションエクスプローラー内の「ALL_BUILD」のプロパティでパスを設定しました。
「 FreeCADをビルドしました。 まだ、ビルドに成功していません。(004) 」では、Visual Studioの右側に表示されているソリューションエクスプローラー内の「ALL_BUILD」のプロパティでパスを設定しました。
操作方法
Visual Studioのプロジェクト内でのパスの設定方法
プロジェクト内でソリューションエクスプローラーでパスを設定すれば、パスの問題は解決するようなので、今後、以下の方法を使っていくことにします。
参照設定をします
Visual Studioの右側に表示されているソリューションエクスプローラー内の「ALL_BUILD」を右クリックして
コンテキストメニューを開きます。
プロパティを選択
プロパティを選択します。
ダイアログが表示されます
「ALL_BUILD」プロパティページダイアログが表示されます。
右側の「ライブラリディレクトリ」を選択し、右端のレ点アイコンをクリックします。
※どこに「FreeCAD Libs」の参照設定を指定したらいいのかは不明です。
「Libs」だからライブラリディレクトリに指定することにしました。
[編集]をクリックします。
[編集]をクリックします。
新しい行のアイコンをクリックします。
ライブラリディレクトリのダイアログが表示されますので、新しい行のアイコンをクリックします。
「...」アイコンを押します。
テキストボックスが表示されますので、その右の「...」アイコンを押します。
「FreeCAD Libs」のディレクトリを選択します
「FreeCAD Libs」のディレクトリを選択します。「FreeCADLibs_11.0_x64_VC12」フォルダでは、ビルドエラーが出ます。そこで、「FreeCADLibs_11.0_x64_VC12\lib」も登録しておきます。こちらだけでいいのか、「FreeCADLibs_11.0_x64_VC12」も必要なのかは確認していません。
OKを押します
OKを押してダイアログを閉じます。
OKを押します
OKを押してダイアログを閉じます。参照設定1番最初だけで問題無いはずです。