Название: Линкер не видит QCA библиотеки Отправлено: lad от Апрель 23, 2009, 11:12 Пытаюсь скомпилировать пример из QCA
qt-sdk-win-opensource-2009.01.1.exe установлен по умолчанию. все либы QCA подкинул в стандартные каталоги, кроме этого выполнил батник шедший с дистрибутивом. Что сделать что бы увидел линкер либы? Starting: C:/Qt/2009.01/mingw/bin/mingw32-make.exe -w mingw32-make: Entering directory `C:/Qt/2009.01/qca1' c:\Qt\2009.01\qt\bin\qmake.exe -spec ..\qt\mkspecs\win32-g++ -win32 -o Makefile qca1.pro mingw32-make: Leaving directory `C:/Qt/2009.01/qca1' mingw32-make: Entering directory `C:/Qt/2009.01/qca1' C:/Qt/2009.01/mingw/bin/mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `C:/Qt/2009.01/qca1' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\qca1.exe debug/qca1.o -L"c:\Qt\2009.01\qt\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 mingw32-make[1]: Leaving directory `C:/Qt/2009.01/qca1' mingw32-make: Leaving directory `C:/Qt/2009.01/qca1' debug/qca1.o: In function `main': C:/Qt/2009.01/qca1/qca1.cpp:35: undefined reference to `_imp___ZN3QCA11InitializerC1ENS_10MemoryModeEi' C:/Qt/2009.01/qca1/qca1.cpp:44: undefined reference to `_imp___ZN3QCA6Base64C1ENS_9DirectionE' C:/Qt/2009.01/qca1/qca1.cpp:49: undefined reference to `_imp___ZN3QCA12MemoryRegionC1ERK10QByteArray' C:/Qt/2009.01/qca1/qca1.cpp:49: undefined reference to `_imp___ZN3QCA10TextFilter13arrayToStringERKNS_12MemoryRegionE' C:/Qt/2009.01/qca1/qca1.cpp:49: undefined reference to `_imp___ZN3QCA12MemoryRegionD1Ev' C:/Qt/2009.01/qca1/qca1.cpp:49: undefined reference to `_imp___ZN3QCA12MemoryRegionD1Ev' C:/Qt/2009.01/qca1/qca1.cpp:57: undefined reference to `_imp___ZN3QCA6Base64C1ENS_9DirectionE' C:/Qt/2009.01/qca1/qca1.cpp:60: undefined reference to `_imp___ZN3QCA10TextFilter12decodeStringERK7QString' C:/Qt/2009.01/qca1/qca1.cpp:65: undefined reference to `_imp___ZN3QCA11InitializerD1Ev' C:/Qt/2009.01/qca1/qca1.cpp:65: undefined reference to `_imp___ZN3QCA11InitializerD1Ev' debug/qca1.o: In function `ZN3QCA10TextFilterD0Ev': C:/Qt/2009.01/qca1/qca1.cpp:(.text$_ZN3QCA6Base64D1Ev[QCA::Base64::~Base64()]+0x39): undefined reference to `_imp___ZTVN3QCA6Base64E' C:/Qt/2009.01/qca1/qca1.cpp:(.text$_ZN3QCA10TextFilterD2Ev[QCA::TextFilter::~TextFilter()]+0x16): undefined reference to `_imp___ZN3QCA6FilterD2Ev' C:/Qt/2009.01/qca1/qca1.cpp:(.text$_ZN3QCA10TextFilterD0Ev[QCA::TextFilter::~TextFilter()]+0x16): undefined reference to `_imp___ZN3QCA6FilterD2Ev' C:/Qt/2009.01/qca1/qca1.cpp:(.text$_ZN3QCA10TextFilterD1Ev[QCA::TextFilter::~TextFilter()]+0x16): undefined reference to `_imp___ZN3QCA6FilterD2Ev' collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\qca1.exe] Error 1 mingw32-make: *** [debug] Error 2 Exited with code 2. Error while building project qca1 When executing build step 'Make' Название: Re: Линкер не видит QCA библиотеки Отправлено: lad от Апрель 23, 2009, 11:19 нашёл
CONFIG += crypto теперь Starting: C:/Qt/2009.01/mingw/bin/mingw32-make.exe -w mingw32-make: Entering directory `C:/Qt/2009.01/qca1' c:\Qt\2009.01\qt\bin\qmake.exe -spec ..\qt\mkspecs\win32-g++ -win32 -o Makefile qca1.pro mingw32-make: Leaving directory `C:/Qt/2009.01/qca1' mingw32-make: Entering directory `C:/Qt/2009.01/qca1' C:/Qt/2009.01/mingw/bin/mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `C:/Qt/2009.01/qca1' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\qca1.exe debug/qca1.o -L"c:\Qt\2009.01\qt\lib" -lmingw32 -lqtmaind -LC:\Qt\2009.01\qt\lib -lqcad -lQtGuid4 -lQtCored4 mingw32-make[1]: Leaving directory `C:/Qt/2009.01/qca1' mingw32-make: Leaving directory `C:/Qt/2009.01/qca1' c:\Qt\2009.01\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lqcad collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\qca1.exe] Error 1 mingw32-make: *** [debug] Error 2 Exited with code 2. Error while building project qca1 When executing build step 'Make' почему -lqcad а не -lqcad2 ????? Название: Re: Линкер не видит QCA библиотеки Отправлено: lad от Апрель 23, 2009, 11:48 убрал 2-ку в имени библиотеки заработало.
почему с именем файла (...от поставщика) не работает? Название: Re: Линкер не видит QCA библиотеки Отправлено: Programmer2010 от Январь 18, 2011, 19:46 I'm sorry that my Russian is not fine to answer you in Russian. I'm not sure if you solved the problem already but will post the solution for all other people having the same problem like you. I had the same issue.
The problem is that the configure.exe doesn't create the debug files by default. By default only "release compile" will work. If you want that debug will also be supported run configure.exe --debug-and-release Then mingw32-make Now check the lib directory. As you can see it created: qcad2.dll qca2.dll libqcad2.a libqca2.a Finally compile works fine. Hope that I could help you. |