Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: сега от Апрель 16, 2005, 16:24



Название: QT 3.3.3 build error LNK2001
Отправлено: сега от Апрель 16, 2005, 16:24
Почему возникает следующая ошибка при установке под MS VS C++ 6.0 sp 5, w2k sp4 (и XP sp 1 тоже) QT3.3.3commercial и как ее исправить?

Код:
main.obj : error LNK2001: unresolved external symbol "void __cdecl qInitImages_designercore(void)" (?qInitImages_designercore@@YAXXZ)
designercore.lib(mainwindow.obj) : error LNK2001: unresolved external symbol "void __cdecl qInitImages_designercore(void)" (?qInitImages_designercore@@YAXXZ)
C:\Qt\3.3.3\bin\designer.exe : fatal error LNK1120: 1 unresolved externals


Функция qInitImages_designercore присутствует в исходниках только в двух файлах -

Qt\3.3.3\tools\designer\app\main.cpp
Qt\3.3.3\tools\designer\designermainwindow.cpp

в следующем виде:
Код:

external void qInitImages_designercore();
qInitImages_designercore();


ps. один раз поставилось нормально... потом была переустановка виндов и начался этот глюк... (причем одновременно на различных компах переставлялся виндовс и перестала билдиться QT)...


Название: QT 3.3.3 build error LNK2001
Отправлено: Admin от Апрель 16, 2005, 22:14
была похожая ошибка

попробуй переставить VC полностью

и можно еще 6 сервис пак накатить
несобирался именно дизайнер


Название: QT 3.3.3 build error LNK2001
Отправлено: сега от Апрель 18, 2005, 14:18
Переустановил VS sp6 - не помогло... есть есче идеи?
Где вообще определена эта функция?


Название: QT 3.3.3 build error LNK2001
Отправлено: MaxWin от Апрель 18, 2005, 16:05
Все именно в такой конфигурации как описано.
Работает без ошибок.
Была ошибка когда небыло сервиспака для VC6.  И прикол именно в был в самом линкере.  
Совет был правильный - глюк где-то в VC6.


Название: QT 3.3.3 build error LNK2001
Отправлено: MaxWin от Апрель 18, 2005, 16:16
Где определена функция можно найти поиском - исходники под рукой. :)
Но только наврятли это поможет. Все должно собираться без ошибок.


Название: QT 3.3.3 build error LNK2001
Отправлено: Hellenna от Апрель 18, 2005, 16:25
Функция реализована в Qt\3.3.3\tools\designer\qmake_image_collection.cpp следующем виде
Код:
void qInitImages_designercore()
{
    if ( !factory ) {
factory = new MimeSourceFactory_designercore;
QMimeSourceFactory::defaultFactory()->addFactory( factory );
    }
}

Попробуй вместо extern использовать простой прототип.
т.е. создаешь файл qmake_image_collection.h:
Код:
#ifndef QMAKE_IMAGE_COLLECTION_H
#ifndef QMAKE_IMAGE_COLLECTION_H
void qInitImages_designercore();
#endif

инклюдишь его в:
Qt\3.3.3\tools\designer\app\main.cpp
Qt\3.3.3\tools\designer\designermainwindow.cpp
Qt\3.3.3\tools\designer\qmake_image_collection.cpp,
 строчку из файлов:
Код:
external void qInitImages_designercore(); 

убираешь...
Сама не пробовала, т.к. нет возможности собирать с VC.
Интерестно, получится или нет...
:roll:


Название: QT 3.3.3 build error LNK2001
Отправлено: сега от Апрель 19, 2005, 19:20
Теперь понятно почему я реализацию не мог найти...
Файл Qt\3.3.3\tools\designer\qmake_image_collection.cpp генерируется в процессе сборки... У меня он получается пустым почему-то (содержит только заголовочные файлы)...

Причину вижу в следующем:

имаги имеют расширение .png, а в логе сборки читаем:

Код:

...
Creating makefiles in src...
...
For C:\Qt\3.3.3\plugins\src\codecs\jp\jp.pro
Project file not generated because all requirements not met:
!bigcodecs
    For C:\Qt\3.3.3\plugins\src\codecs\kr\kr.pro
Project file not generated because all requirements not met:
!bigcodecs
    For C:\Qt\3.3.3\plugins\src\codecs\tw\tw.pro
Project file not generated because all requirements not met:
!bigcodecs
    For C:\Qt\3.3.3\plugins\src\imageformats\imageformats.pro
Project file not generated because all requirements not met:
!bigcodecs
    For C:\Qt\3.3.3\plugins\src\imageformats\jpeg\jpeg.pro
For C:\Qt\3.3.3\plugins\src\imageformats\mng\mng.pro
Project file not generated because all requirements not met:
!jpeg
    For C:\Qt\3.3.3\plugins\src\imageformats\png\png.pro
For C:\Qt\3.3.3\plugins\src\sqldrivers\db2\db2.pro
Project file not generated because all requirements not met:
!png


т.е. получается что не билдится целый ряд проектов и в их числе обработчик .png файлов... Чтобы это значило?
(в setup все настройки по умолчанию)


Название: QT 3.3.3 build error LNK2001
Отправлено: MaxWin от Апрель 20, 2005, 10:53
1.При установке когда окно Configuracion в табе Advanced - Image format, png включено?
2. gif случайно не включен? У меня это иногда это приводило к ошибке во время сборки.
3. Библиотека собралась? В каталоге x:\qt\3.x.x лежит файлик build.log
Там весь лог процесса сборки.
А вообще все это больно странно. Я использую на win32 всегда только VC6 c 3 или 5 паком. Ставил на NT4, XP, 2000 и уже не один десяток раз.
Единственное, что никогда не ставлю на XP пак2. Вобщем никогда не ставлю последнии мелкософтовские обновления. Проку с точки зрения безопасности никакого, а геморой обеспечен. Обхожусь брандмаурами третьих фирм.
Сдается мне, что свежий пак обновил какую-то dll, которой пользуеться компилятор или сборщик. Другой причины не вижу.