Russian Qt Forum
Ноябрь 23, 2024, 06:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Множество ошибок в qvariant.h  (Прочитано 5094 раз)
kkk777kkk
Гость
« : Май 25, 2011, 13:21 »

Добрый день.
Переношу проект с кьюта 3 на кьют 4 причем еще и переношу на QtCreator в проекте просто масса файлов и зависимостей потому нахожусь в стадии решения ненайденных линкером символов. При добавлении очередного требуемоего линкером файла посыпалось масса ошибок причем в qvariant.h. Вот тут можно посмотреть http://pastebin.com/mYbUQ75H. Тут достаточно странные ошибки например '::~QVariant' : illegal global destructor это вроде бы говорит о том что он не понимает что это дело находится в области видимости класса QVariant,  но перед этим вроде стоит обьявление class Q_CORE_EXPORT QVariant. Или ругается на конструктор QVariant(const QString &string); говоря что компилятор не поддерживает обьявления функций без определения типа возвращаемого параметра, что тоже говорит, что он не видит того, что это класс QVariant. Абсолютно не понимаю как такое может быть...
Подскажите пожалуйста чего еще можно посмотреть покопать.

Qt 4.7.2, компилятор от mvs2008
« Последнее редактирование: Май 25, 2011, 13:28 от kkk777kkk » Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Май 25, 2011, 13:51 »

А стоит ли это того?
ЕСли работает, то пусть работает. Только поддерживай.
Если переносить с 3 на 4, то лучше переписать заново.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #2 : Май 25, 2011, 13:53 »

Да, я не понял как можно переносить на QtCreator. Это среда помогающая редактировать и компилировать проект Qt.
И не более того. Этопросто редактор и командная строка.
Записан
kkk777kkk
Гость
« Ответ #3 : Май 25, 2011, 14:04 »

Ну много факторов и все ведет к тому, что надо чтоб было на кьюте 4.
Ну QtCreator это еще и pro файл вместо sln
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Май 25, 2011, 14:06 »

Ну QtCreator это еще и pro файл вместо sln
Ты не прав. pro относится к qmake. Креатор его просто открывает.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kkk777kkk
Гость
« Ответ #5 : Май 25, 2011, 14:17 »

хорошо согласен, но все-таки что могло привести к подобным ошибкам?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #6 : Май 25, 2011, 14:38 »

а QTDIR\bin\qt3to4.exe не поможет?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
kkk777kkk
Гость
« Ответ #7 : Май 25, 2011, 15:41 »

им уже проходился по проекту
Записан
kkk777kkk
Гость
« Ответ #8 : Май 26, 2011, 15:38 »

я-таки нашел проблему. Все было из-за коварного
Код:
#undef CString
#define CString std::string
а CString используется как одно из полей перечисления в QVariant
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Май 26, 2011, 15:40 »

Макросы - зло. Улыбающийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kkk777kkk
Гость
« Ответ #10 : Май 26, 2011, 15:47 »

Особенно это видно если приходится заниматься таким вот проектом, его писала масса человек до меня и некоторым кускам кода уже лет 12. Вот тут уже и видно, что надо делать, а чего лучше не делать Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 22.