トップ回答者
”'libboost_regex-vc100-mt-gd-1_47.lib' を開くことができません。”というエラーが出てビルドできない。

質問
-
boostというライブラリを使用しているプロジェクトで、ビルドを実行すると
1>------ ビルド開始: プロジェクト: intelhex, 構成: Debug Win32 ------
1> IntelHEXRecord.cpp
1> IntelHEXFile.cpp
1> コードを生成中...
1> intelhex.vcxproj -> C:\mywork\new_wireless_module\open\cc1101driver\trunk\VC_test\intelhexutil_custom_output\Debug\intelhexD.lib
2>------ ビルド開始: プロジェクト: intelhexutil, 構成: Debug Win32 ------
2> main.cpp
2>LINK : fatal error LNK1104: ファイル 'libboost_regex-vc100-mt-gd-1_47.lib' を開くことができません。
========== ビルド: 1 正常終了、1 失敗、0 更新不要、0 スキップ ==========このようなエラーが出力されます。解決方法などご教授頂けないでしょうか。
Microsoft Visual C++ 2010 Express Editionを使用しています。
回答
-
あれ。最初はビルド成功してたんじゃないんですか。
エラーにも出ているように boost の hpp が見つからないわけですからディレクトリ設定が足りないと疑いましょうよ。導入手順は最初から読み通し、理解し、実戦されましたか?
必要のない部分もあるかもしれませんが、必要な部分もあるわけですから、提示された場所を読むだけでなく、努力しましょう。// これぐらいは推察、それを裏付ける調査ができないと C++ は厳しいですよ。
// include ファイルが開けないのですから、設定すべき項目はわかりますよね?
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
- 編集済み AzuleanMVP, Moderator 2012年5月23日 13:51
- 回答の候補に設定 山本春海 2012年5月30日 8:14
- 回答としてマーク 山本春海 2012年6月1日 8:08
-
libboost_regex-vc100-mt-gd-1_47.libが見つからないのならboostのインストールミスです。
そもそもintelhexutilは質問者が作成したアプリケーションではないのですか? このフォーラムは開発者が自分の作成しているアプリケーションについて議論する場であり、他人が作成したintelhexutilの扱い方について知りたいのであれば、intelhexutilの作者に問い合わせるべきかと。
# そしてintelhexutilの作者が解決できないのであればこのフォーラムで質問する、という流れです。
すべての返信
-
回答頂きありがとうございます。
WEBサイト教えて頂きありがとうございました。
WEBサイトに記載されていた手順
- Right-click example in the Solution Explorer pane and select Properties from the resulting pop-up menu
- In Configuration Properties > Linker > Additional Library Directories, enter the path to the Boost binaries, e.g. <tt class="docutils literal">C:\Program Files\boost\</tt><tt class="docutils literal">boost_1_47_0</tt><tt class="docutils literal">\lib\</tt>.
- From the Build menu, select Build Solution.
こちらを私のソルーション内のリンカ設定で行い、
”追加のライブラリ ディレクトリ”に
../Debug
C:\Program Files %28x86%29\boost\boost_1_47
このふたつのパスを設定に変更しました。
しかし、再度次のようなエラーがでました。
他にするべき設定や修正すべき点などありますでしょうか。
1>------ ビルド開始: プロジェクト: intelhex, 構成: Debug Win32 ------
1> IntelHEXRecord.cpp
1>c:\mywork\new_wireless_module\open\cc1101driver\trunk\vc_test\intelhexutil_custom_output\intelhex\include\intelhexrecord.hpp(5): fatal error C1083: include ファイルを開けません。'boost/shared_ptr.hpp': No such file or directory
1> IntelHEXFile.cpp
1>c:\mywork\new_wireless_module\open\cc1101driver\trunk\vc_test\intelhexutil_custom_output\intelhex\include\intelhexfile.hpp(7): fatal error C1083: include ファイルを開けません。'boost/shared_ptr.hpp': No such file or directory
1> コードを生成中...
2>------ ビルド開始: プロジェクト: intelhexutil, 構成: Debug Win32 ------
2>LINK : fatal error LNK1104: ファイル 'intelhexD.lib' を開くことができません。
========== ビルド: 0 正常終了、2 失敗、0 更新不要、0 スキップ ========== -
あれ。最初はビルド成功してたんじゃないんですか。
エラーにも出ているように boost の hpp が見つからないわけですからディレクトリ設定が足りないと疑いましょうよ。導入手順は最初から読み通し、理解し、実戦されましたか?
必要のない部分もあるかもしれませんが、必要な部分もあるわけですから、提示された場所を読むだけでなく、努力しましょう。// これぐらいは推察、それを裏付ける調査ができないと C++ は厳しいですよ。
// include ファイルが開けないのですから、設定すべき項目はわかりますよね?
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
- 編集済み AzuleanMVP, Moderator 2012年5月23日 13:51
- 回答の候補に設定 山本春海 2012年5月30日 8:14
- 回答としてマーク 山本春海 2012年6月1日 8:08
-
回答頂きありがとうございます。
1>c:\mywork\new_wireless_module\open\cc1101driver\trunk\vc_test\intelhexutil_custom_output\intelhex\include\intelhexrecord.hpp(5): fatal error C1083: include ファイルを開けません。'boost/shared_ptr.hpp': No such file or directory
hppファイルが見つからなくなっていたのは、今2つのプロジェクトを同時に立ち上げる設定になっていて”intelhex”側のプロジェクトのインクルードファイル設定でいろいろごちゃちゃ触っているうちに変更してしまっていたのが原因みたいでした・・・ ”親またはプロジェクトの継承”にチェックをつけたらこのエラーでなくなりました。
1>c:\mywork\new_wireless_module\open\cc1101driver\trunk\vc_test\intelhexutil_custom_output\intelhex\include\intelhexfile.hpp(7): fatal error C1083: include ファイルを開けません。'boost/shared_ptr.hpp': No such file or directory
こちらの方のエラーもintelhexプロジェクトのインクルードファイル設定を ”C:\Program Files %28x86%29\boost\boost_1_47” に修正したら解決しました。
ただ、新たにえらーとして
1>------ ビルド開始: プロジェクト: intelhexutil, 構成: Debug Win32 ------
1>LINK : fatal error LNK1104: ファイル 'libboost_regex-vc100-mt-gd-1_47.lib' を開くことができません。
========== ビルド: 0 正常終了、1 失敗、1 更新不要、0 スキップ ==========このような、最初に出てきたエラーが出てくるようになりました。単純にこの”libboost_regex-vc100-mt-gd-1_47.lib”というのがこのPC内に存在するのか? っと考え、libboost_regex-vc100-mt-gd-1_47.libがあるかPC内を検索してみたのですが、見つかりませんでした。
このファイルがPCに内のがエラーの原因なのでしょうか?
-
libboost_regex-vc100-mt-gd-1_47.libが見つからないのならboostのインストールミスです。
そもそもintelhexutilは質問者が作成したアプリケーションではないのですか? このフォーラムは開発者が自分の作成しているアプリケーションについて議論する場であり、他人が作成したintelhexutilの扱い方について知りたいのであれば、intelhexutilの作者に問い合わせるべきかと。
# そしてintelhexutilの作者が解決できないのであればこのフォーラムで質問する、という流れです。 -
こんにちは、techhouse_style さん。
MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。
しばらく経ちましたが、その後いかがでしょうか。
参考になる情報をいただいているように思われましたので、他の方にも参考にしていただけるよう勝手ながら私の方で回答としてマークさせていただきました。
佐祐理 さん、Azulean さん、アドバイスありがとうございます。
いただいた情報の中で、解決に役立った投稿や、参考になる情報など有効な情報には回答としてマークすることをお願いしています。
今後、同じ問題でこのスレッドを参照される方にも、有効な情報を活用いただけるかと思いますのでご協力よろしくお願いいたします。
似たようなスレッドがありました。回避されているようなので、念のためリンクしておきますね。
http://sourceforge.jp/forum/message.php?msg_id=64030
http://www.boostpro.com/download/ ここでインストーラをインストールしたら、ビルドできるようになりました。
原因なんですが、最初インストールしたときは、”libboost_regex-vc100-mt-gd-1_47.lib”がなく、再インストールなどをして行っていたら、インストール時の設定でライブラリファイルが200Mbyte分しか設定されていなくて、古インストールに設定して4Gbyte程度一気にインストールしたらこのlibファイルがPC内に配置されるようになり、インクルードパス、ライブラリパス設定後に正常にビルドができるようになりました!
よろしくお願いいたします。
____________
日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海