Две статья из двух частей о том, что будет ногово в MSVC2010 (которая, кстати, должна выйти менее чем через 2 недели). Первая часть больше о IDE (новый интеллисенс, подсветка ошибок в коде, Multi-targeting), вторая — про поддержку C++0x (лямбды, rvalue references):
В итоге наш AddIn, который, начиная с версии MSVS 2003 до 2008, позволял строить проекты из общего пула исходников под любую платформу, начиная от DOS и кончая QNX, обломился окончательно и бесповоротно. Спасибо MS
bloß it hudla
Re[2]: [ANN] Changes to VC++ in Microsoft Visual Studio 2010
Здравствуйте, A.Lokotkov, Вы писали:
AL>В итоге наш AddIn, который, начиная с версии MSVS 2003 до 2008, позволял строить проекты из общего пула исходников под любую платформу, начиная от DOS и кончая QNX, обломился окончательно и бесповоротно. Спасибо MS
Что за аддин и где его можно скачать? Доступны ли исходники?
Re[3]: [ANN] Changes to VC++ in Microsoft Visual Studio 2010
Здравствуйте, x-code, Вы писали:
XC>Что за аддин и где его можно скачать? Доступны ли исходники?
Самопальный, внутрифирменный, исходники закрыты. Открывать и выкладывать мне что-то в голову не приходило, к тому же, видимо, будет нельзя. Скрин редактора конфигураций здесь. Назначение и фичи из мануала ниже.
Когда попытался собрать под 2010beta, стало ясно, что для авторов MSVS свойства элементов объектной модели проекта VC++ не являются их интерфейсом. Зато теперь под разные дотнетфреймворки можно билдить.
Назначение
Fastwel VS Configuration Manager (далее FCM) является дополнением к среде MS Visual Studio и предназначена для создания и обслуживания множества пользовательских конфигураций построения проектов Visual C++ в среде MS Visual Studio. Кроме того, FCM обеспечивает возможность добавления множества файлов с автоматическим созданием структуры фильтров в дереве проекта, соответствующей структуре каталогов, в которых находятся добавляемые файлы.
Терминология
Пользовательская конфигурация построения проекта – именованная совокупность параметров построения проекта, заданных пользователем в свойствах Custom Build Step, Build Events:Pre-Build Event и Build Events:Post-Build Event.
Список описаний пользовательских конфигураций построения – перечень описателей пользовательских конфигураций построения проекта. Каждый описатель включает в себя имя конфигурации, командную и выходную строки для Custom Build Step, а также командные строки, вызываемые на стадиях построения Pre-Build Event и Post-Build Event.
Список доступных конфигурация проекта – перечень описателей текущих конфигураций построения, ранее заданных для проекта. Скриншотец редактора конфигураций здесь.
Функции
FCM обеспечивает выполнение следующих функций:
1) Создание описаний пользовательских конфигураций построения
2) Сохранение и загрузку списка описаний пользовательских конфигураций построения
3) Добавление конфигураций из списка описаний в список доступных конфигураций проекта Visual C++
4) Копирование доступных конфигураций проекта Visual C++ в список описаний конфигураций пользовательских конфигураций построения с возможностью последующего сохранения
5) Копирование командных строк из описаний пользовательских конфигураций построения в доступные конфигурации проекта и наоборот
6) Удаление описаний пользовательских конфигураций и доступных конфигураций
7) Автоматическую установку следующих свойств конфигурации файлов, добавляемых в проект:
— Configuration Properties-General-Tool = Custom Build Step
— Configuration Properties-Custom Build Step-Command Line =
— Configuration Properties-Custom Build Step-Outputs =
Свойства для отдельных файлов устанавливаются на основе значений, заданных FCM для соответствующих свойств всего проекта.
8) Добавление в проект каталогов с файлами, имеющими расширение *.asm, *.c, *.cpp, *.cc, *.cxx, *.h, *.hh, *.hpp, *.hxx с автоматическим созданием в дереве проекта структуры фильтров (проектных "папок"), повторяющей структуру каталогов.
bloß it hudla
Re: [ANN] Changes to VC++ in Microsoft Visual Studio 2010
Здравствуйте, remark, Вы писали:
R>Две статья из двух частей о том, что будет ногово в MSVC2010 (которая, кстати, должна выйти менее чем через 2 недели). Первая часть больше о IDE (новый интеллисенс, подсветка ошибок в коде, Multi-targeting), вторая — про поддержку C++0x (лямбды, rvalue references):
R>http://www.codeguru.com/cpp/article.php/c17001 R>http://www.codeguru.com/cpp/article.php/c17009
C++0x Core Language Features
Standard Library Improvements
New Concurrency Runtime and Libraries
IntelliSense and Design-Time Productivity
Build and Project Systems
Faster Compilation and Better Performance
Build Great Applications on Windows 7 (MFC)
Здравствуйте, A.Lokotkov, Вы писали:
AL>В итоге наш AddIn, который, начиная с версии MSVS 2003 до 2008, позволял строить проекты из общего пула исходников под любую платформу, начиная от DOS и кончая QNX, обломился окончательно и бесповоротно. Спасибо MS
ну так собирайте из-под vs08? тем более cl.exe из vs10 наверняка можно использовать
Re[3]: [ANN] Changes to VC++ in Microsoft Visual Studio 2010
Здравствуйте, A.Lokotkov, Вы писали:
AL>Самопальный, внутрифирменный, исходники закрыты. Открывать и выкладывать мне что-то в голову не приходило, к тому же, видимо, будет нельзя.
Эх... жаль
Может хотя-бы вкратце подскажете, куда копать чтобы можно было из своего аддина менять свойства Custom Build проектов и файлов?
AL>- Configuration Properties-General-Tool = Custom Build Step AL>- Configuration Properties-Custom Build Step-Command Line = AL>- Configuration Properties-Custom Build Step-Outputs =
Re[5]: [ANN] Changes to VC++ in Microsoft Visual Studio 2010
Здравствуйте, x-code, Вы писали:
XC>Может хотя-бы вкратце подскажете, куда копать чтобы можно было из своего аддина менять свойства Custom Build проектов и файлов?
protected static void accessToFile( VCFile vcFile,
string configurationName,
string commandLine,
string outputsString)
{
// obtain configurations for this VC-file
IVCCollection vcFileCfgs = (IVCCollection)vcFile.FileConfigurations;
// get the one with the name configurationName
VCFileConfiguration vcFileCfg = (VCFileConfiguration)vcFileCfgs.Item(configurationName);
if (vcFileCfg != null)
{
try
{
// get containing VCProject
VCProject vcProject = (VCProject)vcFile.project;
// obtain the project build configuration named configurationName
VCConfiguration vcc = (VCConfiguration)((IVCCollection)(vcProject.Configurations)).Item(configurationName);
// get the project-wide custom build tool
VCCustomBuildTool tool = (VCCustomBuildTool)((IVCCollection)vcc.FileTools).Item("VCCustomBuildTool");
// put your hand on your hip
vcFileCfg.Tool = tool;
// cook the goose
((VCCustomBuildTool)vcFileCfg.Tool).Outputs = outputsString;
((VCCustomBuildTool)vcFileCfg.Tool).CommandLine = commandLine;
}
catch (Exception)
{
}
}
}
bloß it hudla
Re: [ANN] Changes to VC++ in Microsoft Visual Studio 2010