Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Дошло до меня... Спешить не надо было. Забудьте все, что я наговорил выше - полнейшую чушь, это точно....
Внимание, правильный ответ.
Дело не в "нескольких файлах", а в "добавляю код из примера" и в "Project: qt002".  Дело в том, что в проекте "t7 " вводится QOBJECT в lcd_range.h. Файлы, имеющие такой максрос, должны обрабатываться moc (Meta Object compiler, кажется) до собственно компиляции.
В учебном проекте эта обработка выполняется в файле .dsp (загляни туда с помощью блокнота, и увидишь, что IF $CFG="t7 - Debug" ляляля moc.exe lcd_range.h" Первой фразой в окне output при компиляции будет что-то типа "Moc'ing lcd_range.h". После работы moc'a появиться файл moc_lcd_range.cpp. Настоящий source-code класса LCDRange будет именно здесь. В Linux'e подобные директивы прописываются в Makefile, в MSVS, как видим, в dsp. Поэтому... Либо надо руками дописать в твой qt-002.dsp(dsw) указание вызвать moc перед компиляцией (через закладку "Custom build", или это должен как-то делать сам MSVS с подачи Qt-Wizard'a (тут я ничего не могу посоветовать, у меня нет VS2003)
PS. Это очень грубое объяснение, но подробно можно рассказывать часами, там много подводных камней.

Отправлено: 10:04, 30-01-2004 | #13