VS2005, C++: Сборка

0000

В свойствах проекта Configuration properties -> C/C++ -> Code Generation есть ключ Runtime library. Для Debug-версии сборки он ставится как DLL, а для релиза не DLL (по умолчанию). Для чего это надо?
Вообще вот такой вопрос: у меня проект состоит из нескольких lib (три с сырцами, две без и даже без debug-версии lib). Что будет, если настройки у lib-фаилов при сборке (из тех ссырцов что есть) будут отличаться?
Вопрос возник вот почему: проект собирается, но приложение при запуске тут же закрывается... Если как то исхитрится (я еще сам не понял как до конца то в debug-сборке работает, а вот release мне сделать не удается :(

0000

Ну раз никто не отзывается, то поговорю сам с собой.
Release все таки удалось собрать: правда странной махинацией, выставив у одной из библиотек Character Set = Not Set (по умолчанию - Unicode, который так же используется для всех составляющих проекта). Че за фигня? :(

okunek

Натрави на свои екзешники dependency walker
По-идее, настройки в сборке либ не должны влиять на основной проект, разве что если calling-conventions будут не совпадать или имена в либах не совпадут с тем, какие имена нагенерирует компилятор для основного проекта. Но это проявтися сразу же при сборке. Советую разобрать более детально, что делает линкер. В гугле стопроцентно все досконально расписано.

erotic

В свойствах проекта Configuration properties -> C/C++ -> Code Generation есть ключ Runtime library. Для Debug-версии сборки он ставится как DLL, а для релиза не DLL (по умолчанию). Для чего это надо?
Этим самым ты задаешь, как будет использоваться стандартная библиотека C++ - встроенной в программу или в виде динамической библиотеки.
Идеальный вариант - когда все, что линкуешь к программе, собрано с одним типом Runtime library. Т.е. в каких-то случаях это правило не действует, но в каких точно, я так и не разобрался.

0000

Фигасе, никогда бы на это не подумал.
Т.е. если я без DLL все скомпоную, то он потом DLL из VS трясти не будет? (сейчас нужно ставить пакет dll на стороний комп, хотя обычно он уже есть)

0000

Кстати может кто нить знает толковый ман про то, как и что собирается и какие параметры за что отвечают в VS?

mkrec

в MSDN есть. Инфа обильная, хотя, на мой взгляд, немного бестолковая. Вроде, достаточно, меняя параметры проекта, ткнуть F1, а дальше по ссылкам.

0000

Да мне бы поначалу на пальцах и по русски желательно.

erotic

Т.е. если я без DLL все скомпоную, то он потом DLL из VS трясти не будет?
Да. Если только какая-нибудь из загружаемых тобой .dll не захочет.
Оставить комментарий
Имя или ник:
Комментарий: