我在 c# 中有一个项目,它使用绑定来使用一些 c++ 代码。c++ 代码由多个 DLL 组成,这些 DLL 使用 makefile 编译。目前我正在尝试使用调用nmake的预构建事件来运行makefile。但是,要让它找到 nmake,我需要在其中添加一行,如下所示:
"$(DevEnvDir)..\..\VC\vcvarsall.bat"
此外,即使存在该行,nmake 也不会在输出窗口中产生任何输出。它也不会抛出任何错误。我尝试将输出重定向到一个文件,但它什么也没写。我已经在一个普通的 shell 中重现了我的预构建事件中的所有步骤,它工作正常。我想我一定是错过了什么。为什么 Visual Studio 没有为我的预构建事件提供 Visual Studio shell?有没有更好的方法来运行这个makefile?如果没有,有没有人知道为什么 nmake 不产生任何输出?
编辑:哦!nmake 没有运行,因为我忘记在行首添加“call”,即:
call "$(DevEnvDir)..\..\VC\vcvarsall.bat"