| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Проблема с копиляцией QT4. |
| Автор: Mephisto 4.4.2008, 15:11 | ||
Вот собственно небольшой код. Не пойму почему не хочет компилироваться.
Qmake запускал если чего |
| Автор: archimed7592 4.4.2008, 15:29 | ||||
... "если чего" |
| Автор: Mephisto 4.4.2008, 15:42 | ||
Добавлено через 26 секунд ... "если чего" |
| Автор: archimed7592 4.4.2008, 15:47 |
| 1. Либо засунуть определение класса в .h 2. Либо написать в конце main.cpp что-то вроде #include "main.moc"(точно не помню). 3. Либо дописать в .pro файл строку HEADERS += main.cpp |
| Автор: Urvin 4.4.2008, 16:32 |
| Присоединюсь к вопросу. Причем использую Code::Blocks под win32. Как можно все это автоматизировать? |
| Автор: archimed7592 4.4.2008, 16:35 |
См. п. 1 моего ответа. |
| Автор: Urvin 4.4.2008, 16:38 | ||||
| archimed7592, прости, не секу. У меня есть ui_mainfrm.h, сформированный через uic есть mainfrm.h:
и, собственно, main.cpp
куда жать? |
| Автор: Mephisto 4.4.2008, 16:52 |
| Urvin, в твоем случае QMake запустить только нужно |
| Автор: Urvin 4.4.2008, 16:57 |
| так ведь хочется из-под Code::Blocks все вершить, а не постоянно лазить в консольку |
| Автор: JackYF 4.4.2008, 16:59 |
там есть замечательная опция "use external makefile" |
| Автор: archimed7592 4.4.2008, 17:06 |
Значит п.3 отпадает, в п.2 корректива: #include "moc_main.cpp", а в п.1 уточнение: либо нужно сделать qmake -project, чтобы перегенерился .pro(учти, что всё что ты написал там руками затрётся), либо добавить соответствующий .h в HEADERS ручками. |
| Автор: Mephisto 6.4.2008, 11:08 | ||
Вот так скомпилилось. По крайней мере под линухом |
| Автор: vitovt 21.3.2010, 16:45 | ||||||
| Маленькое дополнение к топику Недавно встретился с такой же проблемой. Стал разрабатывать небольшую аппликуху, состоящую из нескольких модулей. Естессно, решил вынести общие заголовочные файлы в отдельную директорию. Структура проекта имела вид:
Файл проекта mainapp.pro выглядел:
При попытке построить проект получал undefined reference to `vtable for MainWindow' Как выяснилось, дело оказалось в файле проекта. mainwindow.h следовало включать так:
т.е. с полным путем |