标签:Visual C++ 2010 Express VC Visual Studio VS customize project model
我安装的是 Visual C++ 2010 Express 版, 安装路径 C:\Program Files\VisualStudio_10.0
在 C:\Program Files\VisualStudio_10.0\VC\Express\VCProjects\vcexpress.vsdir 文件下面添加一行。 OCCI.vsz|0|OCCI Application|1|This is a project template for creating OCCI app lication|0|0|0|OCCI
在 C:\Program Files\VisualStudio_10.0\VC\Express\VCProjects 里创建 OCCI.vsz 和 OCCI.ico 。我用 Win32Console.vsz 和 Win32Console.ico 复制了一份。
修改 OCCI.vsz
VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine.10.0
Param="WIZARD_NAME = OCCI"
Param="RELATIVE_PATH = VCWizards\AppWiz\Generic"
Param="CONSOLE_TYPE_ONLY = true"
Param="WIZARD_ID = 75"
vsdir 和 vsz 文件格式在 msdn 有讲解。
在 C:\Program Files\VisualStudio_10.0\VC\VCWizards\AppWiz\Generic 下复制 Application ,改名为 OCCI 。
在 C:\Program Files\VisualStudio_10.0\VC\VCWizards\AppWiz\Generic\OCCI\templates\2052\stdafx.h 最下面加入要用的包含文件和其它定义。
修改 C:\Program Files\VisualStudio_10.0\VC\VCWizards\AppWiz\Generic\OCCI\scripts\2052\default.js 。
在函数 AddSpecificConfig 里面,
在两处 CLTool.PreprocessorDefinitions = strDefines; 上面添加
strDefines += ";你的项目需要的预处理器选项";
在两处 var LinkTool = config.Tools("VCLinkerTool"); 下面添加
var libs = "你的项目需要的库文件";
libs += " kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"; //kernel32.lib 前面的空格不能省略!
LinkTool.AdditionalDependencies += libs;
第一处是生成 Debug 版的程序时候用的,第二处是生成 Release 版的程序时候用的,注意修改变量值。
我没有找到修改“项目属性:配置属性-VC++目录”的包含目录和库目录的方法。
http://www.codeproject.com/Articles/200039/A-Visual-Studio-Wizard-to-add-more-project-configu 里面详细讲解了在 default.js 中修改项目属性的方法,其中有这么一段程序:
//Additional Include Directories
var CLTool = config.Tools("VCCLCompilerTool");
var strIncludeDir = CLTool.AdditionalIncludeDirectories;
if (strIncludeDir != "") strIncludeDir += ";";
strIncludeDir += "项目需要的包含目录";
CLTool.AdditionalIncludeDirectories = strIncludeDir;
//Set the additional library directories
var LibrarianTool = config.Tools("VCLibrarianTool");
strLibraryDir = LibrarianTool.AdditionalLibraryDirectories;
if (strLibraryDir != "") strLibraryDir += ";";
strLibraryDir += "项目需要的库目录";
LibrarianTool.AdditionalLibraryDirectories= strLibraryDir;
貌似就是修改包含目录和库目录的,但是我添加它们以后,新建项目就会报错,VC 退出。我在 msdn 搜了半天也没找到正确的设置方式。期待同志们找到正确的方式。
变通之法是把用到的头文件都复制到 $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include; 里面,
把用到的库文件都复制到 $(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib 里面,但是遇到重名的就行不通了。