プロジェクトからソースファイルをはずすには?

解決


悩み中です  2004-01-06 17:18:37  No: 52970  IP: [192.*.*.*]

VCのプロジェクトを、他の人へ渡すときに公開したくないソース(cpp)をプロジェクトからはずして、中間ファイル(*.obj)をリンクさせるにはどのようにすればよろしいでしょうか?
プロジェクトに、直接オブジェクトファイルを追加してやっているのですが、なかなかうまくいきません。
この場合、リリースビルドとデバッグビルドの切り分けがうまくできません。
何か、よい方法はないでしょうか?

編集 削除
悩み中です  2004-01-07 10:03:23  No: 52971  IP: [192.*.*.*]

デバッグビルドとリリースビルドの切り分けはできませんでしたが、
コンパイルの指定をC7互換とすることで、とりあえず私の
希望はかなえられそうです。
失礼いたしました。

編集 削除
YuO  2004-01-08 00:25:53  No: 52972  IP: [192.*.*.*]

解決となっていますが……。

まず,ファイル単位でビルド条件を変更することは可能です。

VC++ 5.0だとFile Viewでファイルを選択してContext Menu - 設定の一般タブに,
「このファイルをビルドしない」というものがあります。
VC++ 6.0での操作は同じだと思いますし,.Net系列でも同じようなことができると思います。

次に,Static Libraryを作ってしまう,というのも手段の一つです。
Debug/Releaseで出力ファイル名やディレクトリを変えて二つ提供し,
プリプロセッサでDebug/Releaseを判断・リンクするライブラリを変更する,という方法です。
/*
    Debug環境用のライブラリ:testd.lib
  Release環境用のライブラリ:test.lib
*/
#if defined(_DEBUG)
#pragma comment(lib, "testd.lib")
#else
#pragma comment(lib, "test.lib")
#endif

編集 削除