0

埋め込みSQLにはOracleプリコンパイラを使用しています。一部のコードをVC++6.0からVStudio2010に移動しています。

データベース呼び出しを「dbcalls.pc」という名前の単一のソースコードモジュールに配置します。これは「dbcalls.cpp」を生成するプリコンパイラに渡され、他のすべての.cppファイルと同様にコンパイラとリンカに渡されます。

VC6では、カスタムビルドの.pcファイルを手動でコンパイルします。rt dbcalls.pcファイルをクリックして、コンパイルを選択します。次に、使用するOracleプリコンパイラの特定のバージョンのバグのため、.cppを開き、プリコンパイラによって生成された.cppの先頭に#include"stdafx.h"を挿入する必要があります。これ。その後、プロジェクト全体でビルドを実行でき、VC6IDEはカスタムビルドを再実行しようとしません。

VStudio 2010では、1つの重要な例外/問題を除いてこれを複製しました-プロパティの下のビルドから除外されるようにdbcalls.pcファイルを構成すると(カスタムビルドタイプとして指定されている場合)、rtクリックできませんファイルを選択し、コンパイルを選択します。

プロパティをビルドに含めるように設定すると、rtクリックして.pcを.cppに手動でビルドできますが、プロジェクトのビルドを実行するときに.cppを変更すると、カスタムビルドが再実行され、変更が削除されます。 。プロパティダイアログを行ったり来たりして、「ビルドから除外」設定を変更する必要があります。これは、VC6では発生しないロイヤルPITAです。

誰かが回避策を提案できますか?明らかに、プリコンパイラにこのバグがなければ、すべてがうまくいくでしょうが、PCの別のバージョンへの移行は現在カードに含まれていません。

考え?

4

1 に答える 1

0

OK-理由はわかりません-おそらく私は鶏肉を頭上でちょうどいい回数振りました..-しかし今は正しく機能しています。

カスタムビルドダイアログのプリコンパイラへのマクロ引数で発生した別の問題を解決しました。それを実行すると、条件付きビルドが正しく実行され始めました(または少なくとも期待どおりに機能しました)。

肩を数回肩をすくめて「ケースを閉めた」と言った。

于 2011-06-16T13:04:29.910 に答える