Сначала вопрос из трех частей:
- Полностью ли реализованы макросы времени сборки в Visual Studio 11?
- Как я могу редактировать и определять их в IDE?
- Как я могу позволить макросам сохранять свое значение во время сеанса отладки?
Обратите внимание, что яЯ имею в виду макросы времени сборки , такие как $(ProjectDir)
, а не макросы IDE, используемые для записи серии нажатий клавиш - они убрали их , но я могу жить безих.Я определял свои собственные макросы времени сборки через страницы свойств в Visual Studio 10. Например, я мог бы создать макрос для определения места установки Boost на моем локальном компьютере с именем $(BoostDir)
в сборках x64 через View> Property Manager> Microsoft.Cpp.x64.user :
Я использую эту функцию, потому что, возможно, у меня (например) Boost установлен вразные места на разных компьютерах.Эти свойства зависят от компьютера и не возвращаются в систему контроля версий.Затем я могу использовать эти макросы в настройках проекта, которые включены в систему управления версиями, и она должна работать на каждой машине, на которой я компилирую этот проект, если я определил макросы для этой машины.
Пытаясь скомпилировать и запустить мои проекты VS10 в Visual Studio 11 Developer Preview, я столкнулся с парой проблем, связанных с этими макросами.
Сначала в VS11не существует интерфейса для определения этих пользовательских макросов.Там, где они были в VS10, в VS11 теперь просто ничего нет:
Похоже, что эти макросы существуют на каком-то уровне в Compiler / IDE, потому что я могускомпилируйте мой проект без ошибок, что я не смог бы сделать, если бы эти макросы где-то не существовали.
Во-вторых, хотя макросы, кажется, существуют во время процесса сборки, они, кажется, не существуютво время сеанса отладки.Макросы, которые я использовал для разрешения каталогов, в которых существуют определенные библиотеки DLL в VS10, теперь не разрешают эти каталоги в VS11, и я получаю ошибки времени выполнения:
Каталог, в котором находится этот каталог.Библиотека DLL определена здесь в VS10 и VS11:
... но мои макросы, кажется, ничего не значат во время сеанса отладки.
Как я могу получить все связанные с макросами функции, от которых я зависел в VS10, обратно в VS11?