2007年09月05日
川俣晶の縁側ソフトウェア技術雑記total 5946 count

Visual C++ 2005のスタティック ライブラリのプロジェクトのReleaseビルドで.codファイルを生成できない

Written By: 川俣 晶連絡先

 どうも良く分からない状況ですが、Visual C++ 2005で.codファイルを生成するオプションを指定しても生成されないケースがあります。

 とりあえず回避方法が分かったのでメモ。

現象 §

  1. Visual C++ 2005でWin32のスタティックライブラリのプロジェクトを作成する
  2. .cppファイルを1つ適当にプロジェクトに追加しておく
  3. Releaseビルドに切り換える
  4. プロジェクトのプロパティを開き、構成プロパティ→C/C++→出力ファイルを選び、「アセンブリの出力」を「アセンブリ コード、コンピュータ語コード、ソース コード (/FAcs)」に切り換える
  5. ビルド実行
  6. .codファイルはできていない

 同様の手順で、デバッグビルドの場合や、Releaseビルドでもコンソールアプリケーションのプロジェクトの場合は.codファイルが生成されます。

 つまり、ここで述べた範囲内で言えば、スタティックライブラリ+Releaseビルドの組み合わせの場合のみ生成されません。

回避方法 §

  • プロジェクトのプロパティを開き、構成プロパティ→C/C++→最適化を選び「プログラム全体の最適化」の「リンク時のコード生成を有効にする (/GL)」を「いいえ」に変更する

 ただし、これに伴ってリンク時のコード生成は行われなくなり、生成されるコードのパフォーマンスが低下する可能性があり得ます。

 ちなみに、コンソールアプリケーションのプロジェクトでは、上記の指定を「いいえ」に切り換えない状態でも.codファイルは生成されます。なぜこのような差があるのか、理由は未確認です。

感想 §

 結局、BuildLog.htmに書かれたコマンドライン(レスポンスファイル)の中身を手動で展開して、1つ1つオプションを落としながら特定しました。やはり低レベルの知識がないとトラブルへの対処はできないですね。

Facebook

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20070905130712
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.