Boost Build v2 и IDE
От: Экселенц Россия  
Дата: 27.10.06 14:19
Оценка:
Хочу попробовать использовать bbv2 в своих проектах, но не хотелось бы терять такую вещь, как вывод предупреждений и ошибок в окна Output и Error List студии, с последующей возможностью по дабл-клику перейти к месту ошибки. Не подскажут ли гуру правильный способ организации работы с bjam и студией или же это вещи в их понимании не совместимые?
Re: Boost Build v2 и IDE
От: Sergey Россия  
Дата: 27.10.06 15:23
Оценка:
> Хочу попробовать использовать bbv2 в своих проектах, но не хотелось бы терять такую вещь, как вывод предупреждений и ошибок в окна Output и Error List студии, с последующей возможностью по дабл-клику перейти к месту ошибки. Не подскажут ли гуру правильный способ организации работы с bjam и студией или же это вещи в их понимании не совместимые?

Ну в Output вывод перенаправить — это ровно одну галку в кофигурировании external tool выставить. Прыгать по дабл-клику оно будет, если строки Output в имеют правильный формат — а для ошибок от компилятора формат изменится не должен. А вот Error List похоже накроется.
Posted via RSDN NNTP Server 2.0
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: Boost Build v2 и IDE
От: Cyberax Марс  
Дата: 27.10.06 17:10
Оценка:
Экселенц wrote:
> Хочу попробовать использовать bbv2 в своих проектах, но не хотелось бы
> терять такую вещь, как вывод предупреждений и ошибок в окна Output и
> Error List студии, с последующей возможностью по дабл-клику перейти к
> месту ошибки. Не подскажут ли гуру правильный способ организации работы
> с bjam и студией или же это вещи в их понимании не совместимые?
Делаешь makefile project и прописываешь туда bjam в команды строительства.

Логи с ошибками нормально парсятся.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[2]: Boost Build v2 и IDE
От: Экселенц Россия  
Дата: 31.10.06 09:56
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Делаешь makefile project и прописываешь туда bjam в команды строительства.


C>Логи с ошибками нормально парсятся.


Сделал makefile project, команды прописал. По логике теперь надо чтобы при компиляции моего основного проекта использовались команды, прописанные в makefile project, но как это сделать? Обычный проект как-то можно связать с makefile-проектом?
Re[3]: Boost Build v2 и IDE
От: Экселенц Россия  
Дата: 31.10.06 11:22
Оценка:
И ещё вопрос. Экспериментирую с BBv2, собираю boost::filesystem следующим образом:

bjam --v2 msvc-8.0 stdlib=stlport-5.2~msvc~8.0 debug link=shared threading=multi --with-filesystem

Всё собирается отлично.
Теперь хочу сделать, чтобы не генерился манифест, для этого надо линкеру передать /MANIFEST:NO. Запускаю:

bjam --v2 msvc-8.0 stdlib=stlport-5.2~msvc~8.0 debug link=shared threading=multi linkflags=/MANIFEST:NO --with-filesystem

Получаю в ответ:
error: Invalid property '<linkflags>': No value specified for feature 'linkflags'

В доках они приводят примеры использования linkflags только в jam-файле:
<linkflags>-m64
Re[4]: Boost Build v2 и IDE
От: Cyberax Марс  
Дата: 31.10.06 11:31
Оценка:
Экселенц wrote:
> bjam --v2 msvc-8.0 stdlib=stlport-5.2~msvc~8.0 debug link=shared
> threading=multi linkflags=/MANIFEST:NO --with-filesystem
Что-то не то с квотированием. Попробуй заключить в кавычки командную
строку или /MANIFEST:NO.

Ну или просто создай вариант в Jamfile, куда все опции пропишешь.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[5]: Boost Build v2 и IDE
От: Экселенц Россия  
Дата: 31.10.06 11:50
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>Что-то не то с квотированием. Попробуй заключить в кавычки командную
C>строку или /MANIFEST:NO.

C>Ну или просто создай вариант в Jamfile, куда все опции пропишешь.


Я перепробовал, кажется, все возможные варианты. Никакие кавычки не помогают, только если убрать первый '/', всё компилируется, но эта опция линкеру всё равно не попадает (смотрел в логах через -d +2).
Через Jamfile я и так верю, что заработает, это не интересно.
Я ещё msvc.jam правил, туда прописывал /MANIFEST:NO, так работает.
Re[6]: Boost Build v2 и IDE
От: Cyberax Марс  
Дата: 31.10.06 12:51
Оценка:
Экселенц wrote:
> C>Ну или просто создай вариант в Jamfile, куда все опции пропишешь.
> Я перепробовал, кажется, все возможные варианты. Никакие кавычки не
> помогают, только если убрать первый '/', всё компилируется, но эта опция
> линкеру всё равно не попадает (смотрел в логах через -d +2).
Могу сегодня вечером посмотреть что там внутри интерпретатора BJAM
творится. Скорее всего что-то не так с разбором строки.

> Через Jamfile я и так верю, что заработает, это не интересно.

Ну так ты определи вариант, назови его no_manifest и запускай "bjam
debug no_manifest"
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[7]: Boost Build v2 и IDE
От: Экселенц Россия  
Дата: 31.10.06 13:19
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>Ну так ты определи вариант, назови его no_manifest и запускай "bjam
C>debug no_manifest"

Понятно, я просто ещё не разбирался, как варианты определять

А как всё-таки проект созданный через makefile project прицепить к своему проекту, который нужно скомпилировать?
Re[8]: Boost Build v2 и IDE
От: Cyberax Марс  
Дата: 31.10.06 13:25
Оценка:
Экселенц wrote:
> C>Ну так ты определи вариант, назови его no_manifest и запускай "bjam
> C>debug no_manifest"
> Понятно, я просто ещё не разбирался, как варианты определять
> А как всё-таки проект созданный через makefile project прицепить к
> своему проекту, который нужно скомпилировать?
А через Dependency не помогает? Я просто не пробовал так делать, просто
сделал простенький макрос, который позволяет выбирать нужный вариант
билда и прописывает его в ключи текущего проекта.

Мне просто нужно было как-то тестировать приложение со многими
комбинациями строки запуска, мне надоело их постоянно прописывать
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[9]: Boost Build v2 и IDE
От: Экселенц Россия  
Дата: 31.10.06 13:55
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>А через Dependency не помогает? Я просто не пробовал так делать, просто

C>сделал простенький макрос, который позволяет выбирать нужный вариант
C>билда и прописывает его в ключи текущего проекта.

C>Мне просто нужно было как-то тестировать приложение со многими

C>комбинациями строки запуска, мне надоело их постоянно прописывать

А можно немного поподробнее?

Что касается makefile project, то я до сей поры вообще не знал, что это такое, создал проект, прописал в нём строку для билда:
BuildCommandLine="bjam --v2 msvc-8.0 stdlib=stlport-5.2~msvc~8.0"
ну он эту строку запихал в vcproj-файл. И что мне теперь с этим делать, прописать, что мой основной проект зависит от этого makefile-проекта и тогда сборка будет осуществляться этой командой?

Я так понял, ты работаешь по другому. Что делает твой макрос? Прописывает, чтобы cpp-шники собирались не стандартным C/C++ Compiler Tool, а bjam с нужными тебе параметрами?
Re[10]: Boost Build v2 и IDE
От: Экселенц Россия  
Дата: 07.11.06 10:05
Оценка:
Ну я понял, что makefile project надо использовать непосредственно, т.е. прямо в него добавлять свои исходники и компилировать, мне просто раньше казалось, что он для этого не предназначен.
Есть ещё один совершенно элементарный вопрос, доку я читал, но так и не нашёл на него ответ. Как задать имя выходного файла, причём различное для debug и release режима? В бусте есть
rule tag ( name : type ? : property-set )
где это имя формируется, но где и когда это правило вызывается, я не нашёл...
Re[11]: Boost Build v2 и IDE
От: Экселенц Россия  
Дата: 08.11.06 06:26
Оценка:
Разобрался сам. Надо использовать свойство <tag>, между прочим, не описанное в документации userman.pdf (а буст у меня самый свежий из CVS), так же как и константы SHARED_LIBRARY, IMPORT_LIBRARY, EXE ит.д.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.