0

现在我正在使用 VC 10 构建一个 .dll 项目。根据是否包含某些库,输出的 .dll 及其对应的 lib 文件名应该不同。例如,如果项目使用 Mirosoft 提供的原生 STL 库,则 .dll 名称为 *_native_stl.dll;如果项目使用 STLport,则输出 .dll 名称为 *_stlport.dll。当然我可以手动完成,但我现在正在考虑让 VC 10 自动为我完成。我的计划是,如果我使用某个库,我会在预处理器定义(位于 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

仅当未定义 MYVAR时,变量undefined才会设置为 1 。

于 2012-09-04T11:08:45.280 回答