Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt + VS6  (Прочитано 7409 раз)
0 Пользователей и 1 Гость смотрят эту тему.
lightmaker
Участник

ru
Offline Offline

« : 12-03-2008 07:41 » 

Стоит VS6 и Qt, которая в неё интегрирована. При компиляции "предупреждает":
1.  :\Program Files\Microsoft Visual Studio\VC98\INCLUDE\istream(547) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify -GX

Так понимаю, что-то где-то не включено:)

warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library

Подскажите, как исправить и как это может повлиять на работу.



Записан
lightmaker
Участник

ru
Offline Offline

« Ответ #1 : 13-03-2008 23:04 » 

Возникла еще одна непонятка:
После создания проекта в Qt-дизайнере, преобразовал его в проект VS6 и все собирается на ура. После в vs6 я добавил в проект новый класс наследник от qobject и конечно определил Q_OBJECT. Проект не собрался. Конечно! Новый файл (в котором новый класс) не обработался moc'ом.
Пошел я заново в qt-дизайнер, добавил там в проект новые файлы с классом, перенес проект в vs. И все ок. Но... Когда в этом новом классе пытешься добавить слот, проект не собирается:


Ctl.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall Ctl::languageChange(void)" (?languageChange@Ctl@@MAEXXZ)
Debug/pooss.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Может кто сталкивался, подскажите.
Записан
lightmaker
Участник

ru
Offline Offline

« Ответ #2 : 15-03-2008 10:58 » 

Разобрался!
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 15-03-2008 11:00 » 

lightmaker, в чем была проблема?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
lightmaker
Участник

ru
Offline Offline

« Ответ #4 : 18-03-2008 21:09 » 

Честно немного стыдно писать, тк был тогда крепкий тупняк.Улыбаюсь
Дело в том, что я объявил слот в классе, но не написал его реализацию и при компиляции получил:
"Ctl.obj : error LNK2001: unresolved external s..." Стал гадать что же не так:) Промаявшись таки дописал реализацию и все ок. Компилятор меня запутал! По идее, если не реализовать слот или метод должно быть сообщение типа: "undefined reference to 'имя слота'", так по крайней мере в Линуксе. А сообщение типа: "Ctl.obj : error LNK2001: unresolved external s..." обычно возникает, если, например, написать класс-наследник от qt-класса и не обработать файл с ним moc-ом.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 18-03-2008 22:38 » new

Мне тоже gcc этим нравится - осмысленостью сообщений.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines