Russian Qt Forum
Ноябрь 24, 2024, 03:02
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Конфликт хидеров при компиляции плагина mysql
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Конфликт хидеров при компиляции плагина mysql (Прочитано 9229 раз)
cresta
Гость
Конфликт хидеров при компиляции плагина mysql
«
:
Март 04, 2009, 17:00 »
При компиляции плагина mysql конфликтуют хидер mysql_com.h и виндовый winsock.h
В обоих хидерах есть тип данных SOCKET, но определены они по разному.
c:\qt\4.4.3\src\plugins\sqldrivers\mysql\mysql_headers\mysql_com.h(175) : error C2371: SOCKET: переопределение; различные базовые типы
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(54): см. объявление 'SOCKET'
Для чего тут винсок выскочил? Может его как-то отключить? Мне кажется для компиляции плагина он абсолютно не нужен.
Есть ли какие ключи для nmake, которые позволяют отключать ту или иную либу из процесса компиляции?
Записан
ритт
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #1 :
Март 04, 2009, 17:49 »
c:\qt\4.4.3\src\plugins\sqldrivers\mysql\mysql_headers ?
Записан
cresta
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #2 :
Март 04, 2009, 19:29 »
Это я туда положил хидеры.
Сами они нормальные, я ими не раз пользовался. В частности делал класс-обертку для mysql
Записан
ритт
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #3 :
Март 04, 2009, 20:14 »
а кутэ собирается с ключём -direct3d?
Записан
cresta
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #4 :
Март 04, 2009, 22:21 »
нет.
Никаких ключей не задано в явном виде, при конфигурировании видно в выводе, что поддержка direct3d не включена
Записан
ритт
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #5 :
Март 04, 2009, 22:36 »
мб тогда убрать Microsoft SDKs из путей?
Записан
cresta
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #6 :
Март 05, 2009, 11:40 »
в путях sdk не оговаривается.
скачал новый пакет mysql, с ним плагин собрался. Правда непонятно, почему плагин называется qsqlmysqld4.lib?
версия mysql была скачана пятая, а не четвертая. Это вообще принципиально или нет?
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #7 :
Март 05, 2009, 11:42 »
Цитата: cresta от Март 05, 2009, 11:40
скачал новый пакет mysql, с ним плагин собрался. Правда непонятно, почему плагин называется qsqlmysqld4.lib?
версия mysql была скачана пятая, а не четвертая. Это вообще принципиально или нет?
4 - это мажорная версия Qt и это не принципиально
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
cresta
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #8 :
Март 05, 2009, 11:53 »
Все понял, спасибо
Записан
cresta
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #9 :
Март 05, 2009, 16:39 »
Это какое-то болото
Вроде все было нормально, но не работал у меня qDebug.
Почитал форум и по советам решил пересобрать qt с ключом -debug-and-release
Вот все параметры конфигуратора:
configure -debug-and-release -static -no-phonon -no-phonon-backend -no-qt3support -no-opengl -arch windows -platform win32-msvc2008
Собралось, затем начал опять плагин mysql компилировать. Компиляция закончилась без ошибок.
Пошел проверять проект, который работал до пересборки qt - не компилируется: не находит файл c:\Qt\4.4.3\lib\QtSql4.lib
Файла qsqlmysqld4.lib который был до пересборки, тоже нет.
И qt не работает, и два часа компиляции коту под хвост
Что за ерунда такая? В чем проблема?
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #10 :
Март 05, 2009, 17:47 »
перед новой конфигурацией, делал команду:
make confclean
или нет??
Записан
Юра.
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #11 :
Март 05, 2009, 17:49 »
да изачем тебе в статике отладка, держи две сборки Qt, одна - static/release, вторая - shared/dabug_and_release
Записан
Юра.
cresta
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #12 :
Март 05, 2009, 18:26 »
nmake confclean делал
после этого опять сконфигурировал и собрал с такими ключами:
>configure -debug -no-phonon -no-phonon-backend -no-opengl -no-sql-sqlite -arch windows -platform win32-msvc2008
>nmake sub-src
после опять собрал плагин mysql
Теперь ситуация такая: мой тестовый проект из студии не собирается. По прежнему пишет, что отсутствует файл c:\Qt\4.4.3\lib\QtSql4.lib
Из командной строки собирается только debug-версия, но qDebug по-прежнему не работает. Вывода от qDebug в консоль нет. Release не собирается вообще.
Запутался уже в этих ключах
Как сделать, чтобы qDebug работал? Пусть будет shared, ничего страшного.
Что значит две сборки? Создавать две директории с сорцами qt и два раза компилировать либы? И проекты создавать в двух экземплярах (дебаг/релиз)? И для каждого вида проектов устанавливать свои переменные среды при компиляции? Или что?
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #13 :
Март 05, 2009, 20:13 »
>>Что значит две сборки? Создавать две директории с сорцами qt и два раза компилировать либы? И проекты создавать в двух экземплярах (дебаг/релиз)? И для каждого вида проектов устанавливать свои переменные среды при компиляции? Или что?
Да
Записан
Юра.
cresta
Гость
Re: Конфликт хидеров при компиляции плагина mysql
«
Ответ #14 :
Март 05, 2009, 20:33 »
Охренеть, это ж сколько места надо будет на винте?
Дебаг занимает 14 Гигов
Релиз около 5 Гб.
Ну ладно, бог с ним, пусть будет 19 гигов, а как сделать так, чтобы qDebug работал? Ключ -debug никак не помогает
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...