Russian Qt Forum
Май 21, 2024, 01:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подружить QT-4.0.0 с visual C++ 6  (Прочитано 7305 раз)
oktogen
Гость
« : Октябрь 04, 2005, 11:02 »

Сегодня я первый раз поставил QT на win32.
Там стоял visual c6.
Я воспользовался дистрибом
qt-win-eval-desktop-4.0.0-vc60.exe
+ патч qt-4.0.0-wc-vc6-patch.rar
(слито с qt.tttxp.ru)
Все встало вроде.
1)Прописал в автоекзеке переменные окружения
QTDIR=C:\Qt\3.2.2\
PATH=C:\QT\4.0.0\bin
QMAKESPEC=win32-msvc

2)Настроил visual с таким образом:
Tools -> Options , далее на вкладках прописал:
include  files
C:\QT\4.0.0\include\
C:\QT\4.0.0\include\activeqt
C:\QT\4.0.0\include\qt
C:\QT\4.0.0\include\qt3support
C:\QT\4.0.0\include\qtassistant
C:\QT\4.0.0\include\qtcore
C:\QT\4.0.0\include\qtdesigner
C:\QT\4.0.0\include\qtgui
C:\QT\4.0.0\include\qtmotif
C:\QT\4.0.0\include\qtnetwork
C:\QT\4.0.0\include\qtnsplugin
C:\QT\4.0.0\include\qtopengl
C:\QT\4.0.0\include\qtsql
C:\QT\4.0.0\include\qtxml
library files
C:\QT\4.0.0\lib\
C:\QT\4.0.0\lib\sqldrivers
C:\QT\4.0.0\lib\accessible
C:\QT\4.0.0\lib\designer
C:\QT\4.0.0\lib\imageformats
executable files
C:\QT\4.0.0\bin\
Далее, я создал пустой тестовый проект без поддержки MFS с единственным файлом main.cpp
с содержимым

Код:
#include <QApplication>
#include <QDialog>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QDialog D;

app.setActiveWindow( &D );
    D.show();
    return app.exec();
}

Компиляция проходит без ошибок,
но линковка выдает ошибку.
Все что пишет при этом vc:

    Deleting intermediate files and output files for project '112 - Win32 Debug'.
    --------------------Configuration: 112 - Win32 Debug--------------------
    Compiling...
    main.cpp
    Linking...
    main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ)
    main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QDialog::~QDialog(void)" (__imp_??1QDialog@@UAE@XZ)
    main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ)
    main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWidget::show(void)" (__imp_?show@QWidget@@QAEXXZ)
    main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl QApplication::setActiveWindow(class QWidget *)" (__imp_?setActiveWindow@QApplication@@SAXPAVQWidget@@@Z)
    main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QDialog::QDialog(class QWidget *,class QFlags<enum Qt::WindowType>)" (__imp_??0QDialog@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z)
    main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *)" (__imp_??0QApplication@@QAE@AAHPAPAD@Z)
    Debug/112.exe : fatal error LNK1120: 7 unresolved externals
    Error executing link.exe.
    Creating browse info file...

    112.exe - 8 error(s), 0 warning(s)


Буду благодарен за любую помощь
Записан
oktogen
Гость
« Ответ #1 : Октябрь 04, 2005, 11:30 »

Да , вот еще что - содержимое лога
Код:
Build Log

--------------------Configuration: 112 - Win32 Debug--------------------

Command Lines
Creating temporary file "C:\DOCUME~1\dov\LOCALS~1\Temp\RSPA5.tmp" with contents
[
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"Debug/" /Fp"Debug/112.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ  /c
"C:\Projects\112\main.cpp"
]
Creating command line "cl.exe @C:\DOCUME~1\dov\LOCALS~1\Temp\RSPA5.tmp"
Creating temporary file "C:\DOCUME~1\dov\LOCALS~1\Temp\RSPA6.tmp" with contents
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/112.pdb" /debug /machine:I386 /out:"Debug/112.exe" /pdbtype:sept
.\Debug\main.obj
]
Creating command line "link.exe @C:\DOCUME~1\dov\LOCALS~1\Temp\RSPA6.tmp"
Compiling...
main.cpp
Linking...
main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ)
main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QDialog::~QDialog(void)" (__imp_??1QDialog@@UAE@XZ)
main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ)
main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWidget::show(void)" (__imp_?show@QWidget@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl QApplication::setActiveWindow(class QWidget *)" (__imp_?setActiveWindow@QApplication@@SAXPAVQWidget@@@Z)
main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QDialog::QDialog(class QWidget *,class QFlags)" (__imp_??0QDialog@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z)
main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *)" (__imp_??0QApplication@@QAE@AAHPAPAD@Z)
Debug/112.exe : fatal error LNK1120: 7 unresolved externals
Error executing link.exe.
Output Window
Creating command line "bscmake.exe /nologo /o"Debug/112.bsc"  .\Debug\main.sbr"
Output Window


Results
112.exe - 8 error(s), 0 warning(s)

Записан
oktogen
Гость
« Ответ #2 : Октябрь 04, 2005, 12:47 »

Настройка проекта QT-4.0.0 под windows xp
среда - visual c++, версия 6

1)General
NotUseMFS
intermedia files: tmp\obj\release_shared
output     files: release
флажок allow per-configuration dependencies включен

2)Debug
Category : general    
первое текстовое   содержит путь к exe  в проекте ,
например C:\Qt\4.0.0\examples\dialogs\extension\release\extension.exe

3)С/С++
Category     : general
Warning level: level 3
Category : preprocessor, вкладка Additional include directories
C:/Qt/4.0.0/include/QtGui,C:/Qt/4.0.0/include/QtCore,
C:/Qt/4.0.0/include,C:/Qt/4.0.0/include/ActiveQt,tmp\moc\release_shared,.,
C:\Qt\4.0.0\mkspecs\win32-msvc
Debug info:
None
preprocessor definitions:
_WINDOWS,UNICODE,QT_LARGEFILE_SUPPORT,QT_EVAL,QT_DLL,QT_NO_DEBUG,QT_CORE_LIB,QT_GUI_LIB,QT_THREAD_SUPPORT,WIN32
project options:
/nologo /MD /W3 /GR /GX /O1 /I "C:/Qt/4.0.0/include/QtGui" /I "C:/Qt/4.0.0/include/QtCore"
/I "C:/Qt/4.0.0/include" /I "C:/Qt/4.0.0/include/ActiveQt" /I "tmp\moc\release_shared"
/I "." /I "C:\Qt\4.0.0\mkspecs\win32-msvc" /D "_WINDOWS" /D "UNICODE" /D "QT_LARGEFILE_SUPPORT"
/D "QT_EVAL" /D "QT_DLL" /D "QT_NO_DEBUG" /D "QT_CORE_LIB" /D "QT_GUI_LIB" /D "QT_THREAD_SUPPORT"
/D "WIN32" /Fo"tmp\obj\release_shared/" /Fd"tmp\obj\release_shared/" /FD -Zm200 /c                            

4)link
Output filename содержит путь к exe  в проекте не абсолютный
Suppres startup banner : yes
project options:
"C:\Qt\4.0.0\lib\qtmain.lib" "C:\Qt\4.0.0\lib\QtCore4.lib" "C:\Qt\4.0.0\lib\QtGui4.lib"
/nologo /subsystem:windows /incremental:yes /pdb:"release/extension.pdb"
/machine:IX86 /out:"release/extension.exe" /libpath:"C:\Qt\4.0.0\lib"


5) resources
project options
/l 0x409 /d "NDEBUG"  

6)Midl
/nologo /D "NDEBUG" /mktyplib203 /win32

7)browse info
/nologo /o"release/extension.bsc"

8)custom build
первая строка вкладки содержит
Performing Custom Build Step on $(InputPath)
остальные пусты
Записан
oktogen
Гость
« Ответ #3 : Октябрь 04, 2005, 12:48 »

Все оказалось просто.
Это хелп по конфигурации проекта, чтоб никому не мучиться.
Спасибо за внимание.
Записан
Sewix
Гость
« Ответ #4 : Ноябрь 10, 2005, 17:23 »

Отличный хелп.
Правда мне для компиляйии проекта достаночто было указать только 4ый пункт.

Могу ли я какнибудь запомнить настройки проекта? Чтобы не прописывать их для каждого проекта для qt.
Записан
oktogen
Гость
« Ответ #5 : Ноябрь 10, 2005, 19:03 »

я этого не смог добиться. И еще, на определенном этапе проект переставал компалиться. + куча глюков, непонятного происхождения.
Решил с этим не заморачиваться, т.к. время поджимало.
Поэтому перешел на среду vc2003 с интегратором.
Тама все готовенькое. Только поработать напильником надо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.068 секунд. Запросов: 20.