AppWizard для VS2010 выше имеет два небольших глюка (однако они могут удерживать людей от использования WTL с VS2010). Это очень легко исправить:
1) [Выходной каталог] и [Промежуточный каталог] в свойствах нового проекта не сопровождаются обратной косой чертой ('\').
Чтобы исправить:
file:. \ AppWiz \ Files \ Scripts \ 1033 \ default.js
Я заменил:
if(bDebug)
{
config.IntermediateDirectory = 'Debug';
config.OutputDirectory = 'Debug';
config.ATLMinimizesCRunTimeLibraryUsage = false;
}
else
{
config.IntermediateDirectory = 'Release\\';
config.OutputDirectory = 'Release\\';
config.ATLMinimizesCRunTimeLibraryUsage = true;
}
с
// Add generic configuration details
config.IntermediateDirectory = '$(SolutionDir)$(Configuration)\\';
config.OutputDirectory = '$(Configuration)\\';
config.ATLMinimizesCRunTimeLibraryUsage = !bDebug;
2) Некоторые заголовки WTL отсутствуют во вновь создаваемых проектах.
Кажется, что символ WTL_USE_CPP_FILES отсутствует при анализе файла шаблона stdafx.h, в результате чего несколько заголовочных файлов не включаются в новые проекты.
Снова в. \ AppWiz \ Files \ Scripts \ 1033 \ default.js, я добавил:
// Add WTL_USE_CPP_FILES to all projects
wizard.AddSymbol("WTL_USE_CPP_FILES", true)
чуть ниже строки 41 (чтобы строки всегда были включены). Это, кажется, делает трюк.
Я никогда раньше не смотрел на VS appWizards (или js в этом отношении), поэтому не могу гарантировать, что обходные пути являются конкретными. Это кажется довольно простым, и я использую WTL с VS2010 без проблем, так как я внес эти изменения ...
WTL потрясающий, кстати - большое спасибо людям, которые до сих пор поддерживают его!
Ура,
Яннис