web-dev-qa-db-ja.com

致命的なエラーLNK1104:ファイル 'libboost_system-vc90-mt-Gd-1_43.lib'を開けません

新しいプロジェクトを作成し、main.cppを追加して、次のURLにコードを記述しました。

http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp

また、適切なインクルードパスを追加しました。

次は何ですか?!?!!ブーストコードを作成するのは非常に謎のようです。

10時間以上掘り進んでいます。

VC9のWindowsのコードからブーストライブラリを構築する方法について、誰でも簡単に答えることができますか?

21
Poni

Bjamを使用する必要があります。アプリケーションが使用するライブラリを作成する必要があります。 bjamを使用したら、プロジェクトにlibファイルを含めるように指示する必要があります。これを行うには、プロジェクトのプロパティ->構成プロパティ->リンカ->一般を選択します。 libファイルを作成したディレクトリを追加のライブラリディレクトリに追加します。その後、正しくリンクできる必要があります。 このリンク は、投稿で試みるよりも良い手順を説明していると思います

18
bogertron

@bogertron:抱きしめたい! (:

だから、ついに頭が痛くなったので、なんとかできました。

私が行った正確な手順なので、他の人は頭痛から救われます:

  1. http://www.boost.org/doc/libs/1_43_0/more/getting_started/windows.html#or-build-binaries-from-source に行きました。

  2. 「5.3.1 Get bjam」節に従いました。次のURLで「プラットフォーム用のビルド済みbjam実行可能ファイル」をダウンロードしました: http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941 .

  3. Zipファイルを抽出しました(私のプラットフォームはWindowsです)。

  4. 「build.bat」を実行しました。ファイル「bin.ntx86/bjam.exe」を作成しました。

  5. このファイルをPATH( "...../boost_1_43_0 /")にコピーしました。

  6. コマンドラインから「bjam.exe」を実行し、約4〜5分待機しました。

次に、コンソールに次のメッセージが表示されました。「Boost C++ライブラリが正常にビルドされました!」

これで、インクルードファイルとlibファイルの場所がわかります。

16
Poni

すべてのBoostライブラリがヘッダーのみではなく、Boost.Systemもその1つです。 Boost.Asioの documentation は、Boost.Systemに依存していることを示しています。

Visual Studioでは、Boostライブラリは auto-linking を使用します。つまり、必要なライブラリに明示的にリンクする必要はありません。ただし、グローバルまたはプロジェクトごとに必要なライブラリをライブラリ検索パスに含める必要があります。

Boostライブラリを自分でビルドしたくない場合は、boostproが提供する installers を使用できます(現時点ではBoost 1.42までのみ)。代わりに自分でビルドする場合は、 documentation で十分にカバーできます。

9
Georg Fritzsche

私は同じエラーがあり、 SourceForge に従いました。このリンクをクリックすると、boostのバージョン用に圧縮されたlibおよびdllファイルのフォルダーに移動します。関連ライブラリをダウンロードして解凍し、関連する場所にコピーすると、すべて正常に動作します;)

1
Cracker

Visual Studioでプロジェクトを右クリックし、プロパティに移動して次を選択します。

プロパティ->構成プロパティ->リンカ

そこで、「Additional Library Directories」という名前のタブにライブラリのフルパスを追加します。

0
Sharad Salvi

「ブーストスタートガイド」から:

「5.2または、ソースからの簡易ビルド

Visual C++を使用してソースからビルドする場合は、このセクションで説明されている簡単なビルド手順を使用できます。コマンドプロンプトを開き、現在のディレクトリをBoostルートディレクトリに変更します。次に、次のコマンドを入力します。

ブートストラップ。\ b2 "

Windowsでは、[スタート]メニューからVisual Studioコマンドラインを開きました。最初に「ブートストラップ」と入力し、次に「。\ b2」と入力しました。

0
user1313969