Visual Studio 2010 - 如何为这个C++ Windows项目制作"make.bat"?

visual studio 2010 - How to make a "make.bat" for this C++ Windows project?

本文关键字:项目 Windows C++ bat make 2010 Studio Visual      更新时间:2023-10-16

我对使用Visual Studio/C++IDE非常过敏。

相反,我希望能够使用我常用的文本编辑器(例如SublimeText(进行编码,并使用make.bat文件构建项目。

这是一个示例包(mdaDX10是一个音频VSTi,开源(,这是我制作的make.bat文件:

call "C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat" x86
cl mdaDX10.cpp

不幸的是,这不起作用:它试图构建一个.exe,而输出应该是.dll(VST音频插件是DLL(。

如何为这样的项目制作一个干净的IDE独立make.bat


以下是错误的一部分:

[...]
/out:mdaDX10.exe
mdaDX10.obj
mdaDX10.obj : error LNK2019: unresolved external symbol "public: virtual void __
thiscall AudioEffectX::isSynth(bool)" (?isSynth@AudioEffectX@@UAEX_N@Z) referenc
ed in function "public: __thiscall mdaDX10::mdaDX10(int (__cdecl*)(struct AEffec
t *,int,int,int,void *,float))" (??0mdaDX10@@QAE@P6AHPAUAEffect@@HHHPAXM@Z@Z)
mdaDX10.obj : error LNK2019: unresolved external symbol "public: virtual void __
thiscall AudioEffect::canProcessReplacing(bool)" (?canProcessReplacing@AudioEffe
ct@@UAEX_N@Z) referenced in function "public: __thiscall mdaDX10::mdaDX10(int (_
_cdecl*)(struct AEffect *,int,int,int,void *,float))" (??0mdaDX10@@QAE@P6AHPAUAE
ffect@@HHHPAXM@Z@Z)
[...]

调用

cl /? 

会给你一个选项列表。/LD是创建dll 的标志

cl的选项也在线记录https://msdn.microsoft.com/en-us/library/fwkeyyhe.aspx

然而,我建议您不要自己创建这些文件,而是使用更通用、更强大的解决方案,如cmake,否则您可能会发现您的脚本很快变得不那么干净,更难维护以满足您的需求。