埋め込み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の別のバージョンへの移行は現在カードに含まれていません。
考え?