![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mrgloom |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
путаюсть подключить boost.filesystem
мне пишет
т.е. хочет динамически собранную библиотеку, а у меня есть только статически собранные. + еще другая библиотека у меня подключена динамически, возможно ли одну подключить статически, а другую динамически? Добавлено @ 15:32 попробовал
получил
Это сообщение отредактировал(а) mrgloom - 23.5.2012, 15:32 |
||||||||
|
|||||||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
mrgloom, кроме boost_filesystem ты должен прилинковать еще и boost_system.
|
|||
|
||||
| mrgloom |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
добавил все хедеры из system и все равно та же ошибка
Добавлено через 3 минуты и 7 секунд если добавить к либам libboost_system-vc90-mt-sgd-1_47.lib получаю
Добавлено через 9 минут и 52 секунды изменил на /Mtd заработало |
||||
|
|||||
| mrgloom |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
кстати говоря почему? ведь если пользоваться по умолчанию достаточно только подключитть хэдеры. еще для меня не понятный момент это есть варианты когда можно подключить только хэдеры, а есть когда кроме хедеров надо еще прописать либы в проект, а ведь теоретически то загрузить либу можно и прямо в .h файле, нет? да и кстати попробовал в релизе стоит /MD если просто
если добавить
то тоже самое. если добавить в проект либы libboost_filesystem-vc90-mt-s-1_47.lib libboost_system-vc90-mt-s-1_47.lib то
если поменять на /MT , то всё запустится. но зато само приложение упадет потом, т.к. видимо что то связанное с питоном, т.к. я включаю еще и python27.lib в проект. если убрать всё от буста, то такая же ситуация всё вылетает. т.е. питон дружит с /MD, а с /MT нет. а буст получается наоборот, у меня собран как статическая либа, можно конечно пересобрать, но я не хочу таскать за собой длл-ки. и как быть? |
||||||||
|
|||||||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
mrgloom,
В бусте (для студии) стоит автоматическа линковка, в зависимости от макросов, которые в свою очередь зависят от ключей компиляции. /MT /MD и т.д. Вам нужно компилить с /MT - это статическая линковка без дебаг. инф. (/MTd - с дебагом).
Это означает что в вашем коде баги, ошибки, глюки, и прочие нехорошие вещи. Нужно писать нормально. Все режимы должны работать! И главный из них это /MT Как минимум, его одного и надо отлаживать, добиваться чтобы работал. |
|||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
![]() там скорее не в программе дело, а в том что не может загрузить библиотеку, я так понимаю что это происходит именно когда программа пытается вызвать внутренний интерпретатор питона, а он за собой тянет длл-ку, хотя это не факт ,а только домыслы. вообще возможно чтобы в один проект какие то библиотеки подключались статически ,а какие то динамически? |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
я это еще раньше прочитал, но не понял, что надо делать.
вкратце я так понял надо добавить какую то декларацию, чтобы правильно загружалась длл, но это возможно для /MT? вроде это http://msdn.microsoft.com/en-us/library/ms...1(v=vs.80).aspx попробую. Это сообщение отредактировал(а) mrgloom - 4.6.2012, 13:31 |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
mrgloom, у меня такая ошибка была как-то, когда в системе не было установлено нужного msvcХХ_vcredist
В общем, у вас что-то не стыкуется по версиям msvc библиотек. Посмотрите "imports table" экзешника, собранного с /MT Есть там msvcr**.dll ? (в принципе не должно быть). Еще, попробуйте выдрать манифест из питона, и вставить в свою прогрмму. |
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: нет Всего: 6 |
Хм. Ну, присоедини к своей программе нужные DLL-ки, вот ссылка на программу, которая умеет это делать. Или вообще инсталлятор запилить. |
|||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
||||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
причем, что интересно, ошибка появляется только если я пытаюсь использовать код из своего питон враппера, если же просто не вызывать ни 1 функцию, то ошибок не будет.
|
|||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
всё таки всё как то завязано на ключи, /MT /MD, ибо попробовал тестовое приложение куда подключал питон, и /MD норм отрабатывает, а /MT нет.
может быть python.dll надо как то собрать по другому? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |