0

現在、VC 10 で .dll プロジェクトをビルドしています。特定のライブラリが含まれているかどうかによって、出力される .dll とそれに対応する lib ファイル名が異なるはずです。たとえば、Mirosoft が提供するネイティブ STL ライブラリをプロジェクトが使用する場合、.dll 名は *_native_stl.dll です。プロジェクトが STLport を使用する場合、出力 .dll 名は *_stlport.dll です。もちろん手動でもいいのですが、VC10に自動でやってもらおうと考えています。私の計画では、特定のライブラリを使用する場合は、プリプロセッサ定義(C/C++ プリプロセッサにあります) セクションでそれを表す変数を定義します。その後、Post-Build Event (Build Events にあります) セクションで.bat ファイルを定義します。call "$(ProjectDir)\script.bat". script.bat ファイルでは、 Preprocessor Definitionsセクション$(OutDir)$(TargetName)$(TargetExt)の変数定義に従って、デフォルトの .dll 出力名を変更します。私の主な問題は、バッチファイルで特定の変数が定義されているかどうかを確認する方法です。ありがとう!出力ファイル名の変更に関する提案も大歓迎です。

4

1 に答える 1

0
My main problem is that for in batch file how I can check a certain variable is defined or not. Thanks!

これは、次のようなステートメントで確認できます。

if "%MYVAR%" == "" set undefined=1

変数undefinedは、 MYVARが定義されていない場合にのみ 1 に設定されます。

于 2012-09-04T11:08:45.280 に答える