![]() |
|
|
![]()
|
|
| dershokus |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 7.8.2011 Репутация: нет Всего: 1 |
Все добрый день.
Подключаю библиотеку mysqlclient.lib так
Все собирается нормально, но кидает много варнингов вида
Проект собирается с /MTd флагом (Visual C++ 2008) Если выставить /MT, то проект вообще не собирается.
Все это происходит по Debug. Есть какие-нибудь предложения? |
||||||
|
|||||||
| dershokus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 7.8.2011 Репутация: нет Всего: 1 |
И вот еще какой вопрос, зачем либе pdb если исходов всеравно нет?
|
|||
|
||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: нет Всего: 17 |
Я думаю линкер об этом и говорит, что библиотека есть, но дебажить ее не получиться, т.к. нету debug информации. думаю, потому что присутствует define'ы на _DEBUG, и поэтому он использует не те определения в *.h файлах |
|||
|
||||
| dershokus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 7.8.2011 Репутация: нет Всего: 1 |
А можно как-нить сказать msvc линкеру, не искать pdb для конкретной библиотеки?
Есть ли какая-нибудь прагма или опция(желательно не просто отключающая данное сообщение об ошибки? |
|||
|
||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: нет Всего: 17 |
Как вариант, вы можете использовать libmysql.lib + динамическую линковку в debug режиме
и mysqlclient.lib + статическую линковку в release режиме ну или и там и там динамическую линковку. Думаю что можно, но я их не знаю и лень искать |
|||
|
||||
| dershokus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 7.8.2011 Репутация: нет Всего: 1 |
korian, спасибо за наводку. Нормальное решение, хоть и костыль.
Вот тут люди тоже на похожу проблему сокрушаются... |
|||
|
||||
| leniviy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
Дело в том, что дебаг и релиз библиотеки, собранные с использованием Visual C++, и зависящие от STL, несовместимы. (чтобы собрать правильную бибилиотеку на Visual C (не ++), нужно использовать правильные флаги компилятора) Авторы знали это. Я заглянул в содержимое mysql-enterprise-gpl-noinstall-5.1.46sp1-win32.zip. Там есть папочки debug\ и opt\ В обеих лежат разные по содержимому mysqlclient.lib и mysqlclient.pdb Поэтому в студии для дебаг и релиз конфигурации в свойствах проекта надо прописывать разные пути к бибилиотекам (скорее всего Linker/Additional library directories) Это сообщение отредактировал(а) leniviy - 14.8.2012, 11:10 |
|||
|
||||
| dershokus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 7.8.2011 Репутация: нет Всего: 1 |
В mysql-connector-c-noinstall-6.0.2-winx64.zip и mysql-connector-c-noinstall-6.0.2-win32.zip нет этих разделений на debug и opt
|
|||
|
||||
| leniviy |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
А можно твой код?
Добавлено @ 11:54 варианты: a) скачай полный архив: http://mirror.cogentco.com/pub/mysql/MySQL...alpha-win32.zip . Там он есть. b) используй /NODEFAULTLIB . Правда это повлияет чтение /DEFAULTLIB из всех библиотек, не только mysqlclient.lib c) Попробуй в двоичном редакторе заменить
на пробелы. Мне это помогло убрать ошибку
Ошибку с оператором delete воспроизвести не удалось Это сообщение отредактировал(а) leniviy - 14.8.2012, 12:06 |
||||
|
|||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |