![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
edwardoid |
![]() ![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Исходники main.cpp
test.h
test.cpp
результат компиляции:
Я не пойму почему так? Если убрать Q_OBJECT все скомпилируется, но без этого макроса я не смогу создаватх свои слоты! Помогите.
Причина редактирования: длинные исходники можно вкладывать внутрь тэга expad
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
1) штатные примеры на висте компилятся?
2) не пиши так: #include <QMainWindow.h> пиши имя модуля, а не файла ( #include <QMainWindow>) 3) не NULL, а 0! 4) в pro-файле test.h указан? |
|
|
edwardoid |
![]()
Сообщение
#3
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
1)Все компилит, если нет этого Q_OBJECT.
2) Сорри, не пойму какого хрена написал этот .х 3) Какая разница? Вроде ссылке можно придать значение НУЛЛ 4) наверное, я делал qmake -project и qmake, потом make... |
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
void* |
![]()
Сообщение
#5
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
edwardoid, ты можешь сначала сгенерировать автоматически файл проекта, а затем добавить туда свои файлы, если qmake их не добавил
|
|
|
edwardoid |
![]()
Сообщение
#6
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
QTesting.pro
CODE ############################################################### ####### # Automatically generated by qmake (2.01a) ??? 1. ??? 20:12:45 2008 ###################################################################### TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . # Input HEADERS += test.h SOURCES += main.cpp test.cpp edwardoid, ты можешь сначала сгенерировать автоматически файл проекта, а затем добавить туда свои файлы, если qmake их не добавил Как это делается в Code::Blocks? |
|
|
Sergey B. |
![]()
Сообщение
#7
|
![]() Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 12.2.2008 Пользователь №: 92 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Если нет своих слотов, то Q_OBJECT писать не надо.
Когда напишете слоты (объявите), добавите и этот макрос По этому макросу moc строит таблицу вирьтуальных ф-й, а так как нет слотов она пустая. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
edwardoid |
![]()
Сообщение
#9
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
1)Все компилит, если нет этого Q_OBJECT. я спрашивал про стандартные примеры (Qt'явые) дело в том, что под висту нужен патченый MinGW32. --- Уменя твой код копилится без проблем, проверено на Windows 2kSP4, Qt-4.4.0, gcc (GCC) 3.4.5 (mingw special) Как пропатчить? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
1) как ставил Qt на висту? (программу установки использовал или собирал из исходников)
2) как MinGW ставил? (откуда и что брал) |
|
|
edwardoid |
![]()
Сообщение
#11
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
1) QT через инсталяционник. Вместо скачки MinGW указал эту директорию у Code::Blocks
2) Code::Blocks сам поставил. === Есть версия MinGW которая будет строить как 64битные версии, так и 32-ух битные. И вообще, имееет ли смысл компилировать разные версии для разных разрядностей процессора, если не,т то почему? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#12
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Есть версия MinGW которая будет строить как 64битные версии, так и 32-ух битные. Эту похоже патчить не надо, но на всякий случай смотри тут GCC Version 3 в старых сборках есть файлы помеченые как *-vista их переименовываешь, удаляя приписку виста, и вместо основных кладешь. версию GCC можно посмотреть так: gcc --version если не,т то почему? а зачем тебе лишняя работа, собирай 32-х битную и все. Теперь еще скажи, ты отладочные библиотеки Qt собрал? |
|
|
edwardoid |
![]()
Сообщение
#13
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
но тем не менее проблема не решена. вроде гцц гормалный. qt не собирал, инсталляционник был...
|
|
|
trdm |
![]()
Сообщение
#14
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#15
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
trdm,
![]() ![]() |
|
|
edwardoid |
![]()
Сообщение
#16
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
А это что за фигня? Test(QWidget* = NULL); может лучше Test(QWidget* parent = NULL); Если ты о test.h, то навания переменных я не обязан указывать в прототипе функции. Это стандарт. Главное указать тип. Что я и сделал. Так, что это непричем. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#17
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
edwardoid, ты лучше ответь на мой вопрос, отладочные библиотеки собирал или еще нет?
|
|
|
void* |
![]()
Сообщение
#18
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
может лучше Test(QWidget* parent = NULL); нет, в объявлениях не обязательно указывать имена переменных, достаточно только указания типа, хотя конечно действительно лучше использовать простой ноль (0) вместо NULL упс, опоздал ![]() Сообщение отредактировал void* - 1.8.2008, 21:11 |
|
|
trdm |
![]()
Сообщение
#19
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
edwardoid |
![]()
Сообщение
#20
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ne pomoglo...
|
|
|
ViGOur |
![]()
Сообщение
#21
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
edwardoid |
![]()
Сообщение
#22
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ViGOur |
![]()
Сообщение
#23
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Библиотека.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#24
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
edwardoid, попробуй отладочную версию собрать:
"Пуск" -> "Программы" -> "Qt 4.4.*****" -> "Qt 4.4.* (Build Debug Libraries)" |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.6.2025, 23:48 |