Combining Qt Widgets and QML with QWidget::createWindowContainer() - qt

I've tried to follow this article:
http://www.ics.com/blog/combining-qt-widgets-and-qml-qwidgetcreatewindowcontainer#.UlVUExCXcnI
If I try to redo this I get this error:
15:13:36: Running steps for project Test_QMLWidgets01...
15:13:36: Configuration unchanged, skipping qmake step.
15:13:36: Starting: "C:\Qt\Qt5\Tools\QtCreator\bin\jom.exe"
C:\Qt\Qt5\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"C:\Qt\Qt5\5.1.0\msvc2010\include" -I"C:\Qt\Qt5\5.1.0\msvc2010\include\QtWidgets" -I"C:\Qt\Qt5\5.1.0\msvc2010\include\QtGui" -I"C:\Qt\Qt5\5.1.0\msvc2010\include\QtANGLE" -I"C:\Qt\Qt5\5.1.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"C:\Qt\Qt5\5.1.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ #C:\Users\VANBEB~1\AppData\Local\Temp\mainwindow.obj.3328.0.jom
mainwindow.cpp
..\Test_QMLWidgets01\mainwindow.cpp(2) : fatal error C1083: Cannot open include file: 'QQuickView': No such file or directory
jom: E:\QtProjects\build-Test_QMLWidgets01-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug\Makefile.Debug [debug\mainwindow.obj] Error 2
jom: E:\QtProjects\build-Test_QMLWidgets01-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug\Makefile [debug] Error 2
15:13:36: The process "C:\Qt\Qt5\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project Test_QMLWidgets01 (kit: Desktop Qt 5.1.0 MSVC2010 32bit)
When executing step 'Make'
15:13:36: Elapsed time: 00:00.
So I changed #include to #include but then I get linking errors:
15:16:27: Running steps for project Test_QMLWidgets01...
15:16:27: Configuration unchanged, skipping qmake step.
15:16:27: Starting: "C:\Qt\Qt5\Tools\QtCreator\bin\jom.exe"
C:\Qt\Qt5\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"C:\Qt\Qt5\5.1.0\msvc2010\include" -I"C:\Qt\Qt5\5.1.0\msvc2010\include\QtWidgets" -I"C:\Qt\Qt5\5.1.0\msvc2010\include\QtGui" -I"C:\Qt\Qt5\5.1.0\msvc2010\include\QtANGLE" -I"C:\Qt\Qt5\5.1.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"C:\Qt\Qt5\5.1.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ #C:\Users\VANBEB~1\AppData\Local\Temp\mainwindow.obj.4220.15.jom
mainwindow.cpp
echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID / 24 / RT_MANIFEST */ "debug\Test_QMLWidgets01.exe.embed.manifest">debug\Test_QMLWidgets01.exe_manifest.rc
if not exist debug\Test_QMLWidgets01.exe if exist debug\Test_QMLWidgets01.exe.embed.manifest del debug\Test_QMLWidgets01.exe.embed.manifest
if exist debug\Test_QMLWidgets01.exe.embed.manifest copy /Y debug\Test_QMLWidgets01.exe.embed.manifest debug\Test_QMLWidgets01.exe_manifest.bak
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='' processorArchitecture=''" /MANIFEST /MANIFESTFILE:debug\Test_QMLWidgets01.exe.embed.manifest /OUT:debug\Test_QMLWidgets01.exe #C:\Users\VANBEB~1\AppData\Local\Temp\Test_QMLWidgets01.exe.4220.2886.jom
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void _thiscall QQuickView::setSource(class QUrl const &)" (_imp_?setSource#QQuickView##QAEXABVQUrl###Z) referenced in function "public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow##QAE#PAVQWidget###Z)
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QQuickView::QQuickView(class QWindow *)" (_imp??0QQuickView##QAE#PAVQWindow###Z) referenced in function "public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow##QAE#PAVQWidget###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QQuickView::metaObject(void)const " (?metaObject#QQuickView##UBEPBUQMetaObject##XZ)
mainwindow.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QQuickView::qt_metacast(char const *)" (?qt_metacast#QQuickView##UAEPAXPBD#Z)
mainwindow.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QQuickView::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall#QQuickView##UAEHW4Call#QMetaObject##HPAPAX#Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual bool __thiscall QQuickWindow::event(class QEvent *)" (?event#QQuickWindow##MAE_NPAVQEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickView::timerEvent(class QTimerEvent *)" (?timerEvent#QQuickView##MAEXPAVQTimerEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "public: virtual class QAccessibleInterface * __thiscall QQuickWindow::accessibleRoot(void)const " (?accessibleRoot#QQuickWindow##UBEPAVQAccessibleInterface##XZ)
mainwindow.obj : error LNK2001: unresolved external symbol "public: virtual class QObject * __thiscall QQuickWindow::focusObject(void)const " (?focusObject#QQuickWindow##UBEPAVQObject##XZ)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickWindow::exposeEvent(class QExposeEvent *)" (?exposeEvent#QQuickWindow##MAEXPAVQExposeEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickView::resizeEvent(class QResizeEvent *)" (?resizeEvent#QQuickView##MAEXPAVQResizeEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickWindow::focusInEvent(class QFocusEvent *)" (?focusInEvent#QQuickWindow##MAEXPAVQFocusEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickWindow::focusOutEvent(class QFocusEvent *)" (?focusOutEvent#QQuickWindow##MAEXPAVQFocusEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickWindow::showEvent(class QShowEvent *)" (?showEvent#QQuickWindow##MAEXPAVQShowEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickWindow::hideEvent(class QHideEvent *)" (?hideEvent#QQuickWindow##MAEXPAVQHideEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickView::keyPressEvent(class QKeyEvent *)" (?keyPressEvent#QQuickView##MAEXPAVQKeyEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickView::keyReleaseEvent(class QKeyEvent *)" (?keyReleaseEvent#QQuickView##MAEXPAVQKeyEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickView::mousePressEvent(class QMouseEvent *)" (?mousePressEvent#QQuickView##MAEXPAVQMouseEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickView::mouseReleaseEvent(class QMouseEvent *)" (?mouseReleaseEvent#QQuickView##MAEXPAVQMouseEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickWindow::mouseDoubleClickEvent(class QMouseEvent *)" (?mouseDoubleClickEvent#QQuickWindow##MAEXPAVQMouseEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickView::mouseMoveEvent(class QMouseEvent *)" (?mouseMoveEvent#QQuickView##MAEXPAVQMouseEvent###Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QQuickWindow::wheelEvent(class QWheelEvent *)" (?wheelEvent#QQuickWindow##MAEXPAVQWheelEvent###Z)
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual _thiscall QQuickView::~QQuickView(void)" (_imp_??1QQuickView##UAE#XZ) referenced in function "public: virtual void * _thiscall QQuickView::scalar deleting destructor'(unsigned int)" (??_GQQuickView##UAEPAXI#Z)
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QQmlDebuggingEnabler::QQmlDebuggingEnabler(bool)" (__imp_??0QQmlDebuggingEnabler##QAE#_N#Z) referenced in function "void __cdecldynamic initializer for 'qmlEnableDebuggingHelper''(void)" (??_EqmlEnableDebuggingHelper##YAXXZ)
debug\Test_QMLWidgets01.exe : fatal error LNK1120: 24 unresolved externals
jom: E:\QtProjects\build-Test_QMLWidgets01-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug\Makefile.Debug [debug\Test_QMLWidgets01.exe] Error 1120
jom: E:\QtProjects\build-Test_QMLWidgets01-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug\Makefile [debug] Error 2
15:16:30: The process "C:\Qt\Qt5\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project Test_QMLWidgets01 (kit: Desktop Qt 5.1.0 MSVC2010 32bit)
When executing step 'Make'
15:16:30: Elapsed time: 00:04.
What am I doing wrong?

I think that you need to add to your .pro file:
QT += core gui widgets quick

Related

LNK errors on building opencv contrib cvv module

I am building opencv 4.3.0 in the windows-vs2015, using cmake3.17.3, with WITH_QT enabled. Here are errors messages related to opencv_contrib module cvv in the building process:
Creating library C:/opencv/opencv-4.3.0-cbuild/lib/Release/opencv_world430.lib and object C:/opencv/opencv-4.3.0-cbuild/lib/Release/opencv_world430.exp
view_controller.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __cdecl cvv::gui::CallTab::metaObject(void)const " (?metaObject#CallTab#gui#cvv##UEBAPEBUQMetaObject##XZ)
image_call_tab.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __cdecl cvv::gui::CallTab::metaObject(void)const " (?metaObject#CallTab#gui#cvv##UEBAPEBUQMetaObject##XZ)
view_controller.obj : error LNK2001: unresolved external symbol "public: virtual void * __cdecl cvv::gui::CallTab::qt_metacast(char const *)" (?qt_metacast#CallTab#gui#cvv##UEAAPEAXPEBD#Z)
image_call_tab.obj : error LNK2001: unresolved external symbol "public: virtual void * __cdecl cvv::gui::CallTab::qt_metacast(char const *)" (?qt_metacast#CallTab#gui#cvv##UEAAPEAXPEBD#Z)
view_controller.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl cvv::gui::CallTab::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall#CallTab#gui#cvv##UEAAHW4Call#QMetaObject##HPEAPEAX#Z)
image_call_tab.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl cvv::gui::CallTab::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall#CallTab#gui#cvv##UEAAHW4Call#QMetaObject##HPEAPEAX#Z)
view_controller.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject
.........
C:\opencv\opencv-4.3.0-cbuild\bin\Release\opencv_world430.dll : fatal error LNK1120: 226 unresolved externals
What is the problem with these errors? I googled online and found some similar posts (https://answers.opencv.org/question/210338/build-error-when-activating-both-cvv-and-world/; Linking errors for Qt and cvv when building OpenCV in Windows 10). It seems that BUILD_opencv_world, WITH_QT and Build_opencv_cvv cannot be activated simultaneously for building. Should I need to remove the cvv module from the opencv_contrib folder?

Unresolved external symbols in qtmaind.lib

I am trying to upgrade my Qt-project settings from Visual Studio 2013 to 2015. It almost done but I get some errors with qtmaind.lib.
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: unresolved external
symbol imp__RoInitialize#4 referenced in function _WinMain#16
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: unresolved external
symbol __imp__RoGetActivationFactory#12 referenced in function
"public: __thiscall AppContainer::AppContainer(void)"
(??0AppContainer##QAE#XZ) 1>qtmaind.lib(qtmain_winrt.obj) : error
LNK2019: unresolved external symbol _WindowsCreateStringReference#16
referenced in function "private: void __thiscall
Microsoft::WRL::Wrappers::HStringReference::CreateReference(wchar_t
const *,unsigned int,unsigned int)"
(?CreateReference#HStringReference#Wrappers#WRL#Microsoft##AAEXPB_WII#Z)
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: unresolved external
symbol _WindowsDeleteString#4 referenced in function "public: void
__thiscall Microsoft::WRL::Wrappers::HString::Release(void)" (?Release#HString#Wrappers#WRL#Microsoft##QAEXXZ)
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: unresolved external
symbol _WindowsGetStringRawBuffer#8 referenced in function "public:
wchar_t const * __thiscall
Microsoft::WRL::Wrappers::HString::GetRawBuffer(unsigned int *)const "
(?GetRawBuffer#HString#Wrappers#WRL#Microsoft##QBEPB_WPAI#Z)
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: unresolved external
symbol _RoOriginateError#8 referenced in function "public: static void
__cdecl Microsoft::WRL::ErrorHelper<0>::OriginateError(long,struct HSTRING *)"
(?OriginateError#?$ErrorHelper#$0A##WRL#Microsoft##SAXJPAUHSTRING__###Z)
Qt 5.6-rc (22-Feb-2016 15:11)
link to WindowsApp.lib. That should resolve your issues.
At least for getting GetActivationFactory, you need to link to runtimeobject.lib.

Link error building Qt 5.5 source code

I'm having problems building Qt 5.5 from the Git Source.
Does anyone know what is causing this and how to solve it?
I've been following these steps.
http://doc.qt.io/qt-5/windows-building.html
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QPlaceDetailsR
eplyUnsupported::metaObject(void)const " (?metaObject#QPlaceDetailsReplyUnsupported##UBEPBUQMetaObject##XZ)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QPlaceDetailsReplyUnsupported::qt_
metacast(char const *)" (?qt_metacast#QPlaceDetailsReplyUnsupported##UAEPAXPBD#Z)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QPlaceDetailsReplyUnsupported::qt_met
acall(enum QMetaObject::Call,int,void * *)" (?qt_metacall#QPlaceDetailsReplyUnsupported##UAEHW4Call#QMetaObject##HPAPAX#Z)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QPlaceContentR
eplyUnsupported::metaObject(void)const " (?metaObject#QPlaceContentReplyUnsupported##UBEPBUQMetaObject##XZ)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QPlaceContentReplyUnsupported::qt_
metacast(char const *)" (?qt_metacast#QPlaceContentReplyUnsupported##UAEPAXPBD#Z)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QPlaceContentReplyUnsupported::qt_met
acall(enum QMetaObject::Call,int,void * *)" (?qt_metacall#QPlaceContentReplyUnsupported##UAEHW4Call#QMetaObject##HPAPAX#Z)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QPlaceSearchSu
ggestionReplyUnsupported::metaObject(void)const " (?metaObject#QPlaceSearchSuggestionReplyUnsupported##UBEPBUQMetaObject##XZ)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QPlaceSearchSuggestionReplyUnsuppo
rted::qt_metacast(char const *)" (?qt_metacast#QPlaceSearchSuggestionReplyUnsupported##UAEPAXPBD#Z)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QPlaceSearchSuggestionReplyUnsupporte
d::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall#QPlaceSearchSuggestionReplyUnsupported##UAEHW4Call#QMetaObject##HPAPAX#Z)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QPlaceMatchRep
lyUnsupported::metaObject(void)const " (?metaObject#QPlaceMatchReplyUnsupported##UBEPBUQMetaObject##XZ)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QPlaceMatchReplyUnsupported::qt_me
tacast(char const *)" (?qt_metacast#QPlaceMatchReplyUnsupported##UAEPAXPBD#Z)
qplacemanagerengineosm.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QPlaceMatchReplyUnsupported::qt_metac
all(enum QMetaObject::Call,int,void * *)" (?qt_metacall#QPlaceMatchReplyUnsupported##UAEHW4Call#QMetaObject##HPAPAX#Z)
F:\Code\qt5\qtbase\plugins\geoservices\qtgeoservices_osm.dll : fatal error LNK1120: 12 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

Qt linking errors

I’m trying to compile my first Qt project, but I have problems with unresolved extrnals when I link it. This is the full error log: http://pastebin.com/KpjvFKfu
Qt5Gui.lib(qdrawhelper_sse2.obj) : error LNK2001: unresolved external symbol "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map#std##YAPBDH#Z)
Qt5Gui.lib(qdrawhelper_avx.obj) : error LNK2001: unresolved external symbol "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map#std##YAPBDH#Z)
Qt5Gui.lib(qdrawhelper_ssse3.obj) : error LNK2001: unresolved external symbol "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map#std##YAPBDH#Z)
Qt5Gui.lib(Qt5Gui_pch.obj) : error LNK2001: unresolved external symbol "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map#std##YAPBDH#Z)
Qt5Gui.lib(qimage_avx.obj) : error LNK2001: unresolved external symbol "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map#std##YAPBDH#Z)
Qt5Gui.lib(qimage_sse2.obj) : error LNK2001: unresolved external symbol "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map#std##YAPBDH#Z)
Qt5Gui.lib(qimage_ssse3.obj) : error LNK2001: unresolved external symbol "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map#std##YAPBDH#Z)
main.obj : error LNK2001: unresolved external symbol "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map#std##YAPBDH#Z)
.....
I'm using Qt compiled with VS2012 ×86 (compiled with -MT parameter). My program is also compiled with the same compiler and linked statically. I link with these Qt-related libraries: Qt5Core.lib Qt5Gui.lib Qt5Widgets.lib qtmain.lib
Do I need some more libraries to include or are there some other dependencies which I missed? How can I fix these errors?

Linker errors in Qt Creator 2.4.1 associated with CImg library

I wrote a small image processing algorithm using the CImg library and bundled it in a command line application using Visual C++ Express. Everything compiled error free and ran well, until the engineer in charge of the project decided he wanted a GUI. So I went to Qt and Qt creator. The GUI functioned fine by itself, but all hell breaks loose when I move my image processing algorithm over.
mainwindow.obj : error LNK2019: unresolved external
symbol__imp__SHGetSpecialFolderPathA#16 referenced in function "char const * __cdecl
cimg_library::cimg::programfiles_path(char const * const,bool)"
(?programfiles_path#cimg#cimg_library##YAPBDQBD_N#Z)
mainwindow.obj : error LNK2019: unresolved external symbol
__imp__EnumDisplaySettingsW#12 referenced in function "public: static int __cdecl
cimg_library::CImgDisplay::screen_width(void)"
(?screen_width#CImgDisplay#cimg_library##SAHXZ)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__DestroyWindow#4
referenced in function "public: struct cimg_library::CImgDisplay & __thiscall
cimg_library::CImgDisplay::assign(void)"
(?assign#CImgDisplay#cimg_library##QAEAAU12#XZ)
mainwindow.obj : error LNK2019: unresolved external symbol
__imp__ChangeDisplaySettingsW#8 referenced in function "public: void __thiscall
cimg_library::CImgDisplay::_desinit_fullscreen(void)"
(?_desinit_fullscreen#CImgDisplay#cimg_library##QAEXXZ)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__SetWindowPos#28
referenced in function "public: struct cimg_library::CImgDisplay & __thiscall
cimg_library::CImgDisplay::resize(int,int,bool)"
(?resize#CImgDisplay#cimg_library##QAEAAU12#HH_N#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__AdjustWindowRect#12
referenced in function "public: struct cimg_library::CImgDisplay & __thiscall
cimg_library::CImgDisplay::resize(int,int,bool)"
(?resize#CImgDisplay#cimg_library##QAEAAU12#HH_N#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__DispatchMessageW#4
referenced in function "public: static unsigned long __stdcall
cimg_library::CImgDisplay::_events_thread(void *)"
(?_events_thread#CImgDisplay#cimg_library##SGKPAX#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__GetMessageW#16
referenced in function "public: static unsigned long __stdcall
cimg_library::CImgDisplay::_events_thread(void *)"
(?_events_thread#CImgDisplay#cimg_library##SGKPAX#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__SetWindowLongW#12
referenced in function "public: static unsigned long __stdcall
cimg_library::CImgDisplay::_events_thread(void *)"
(?_events_thread#CImgDisplay#cimg_library##SGKPAX#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__GetDC#4 referenced
in function "public: static unsigned long __stdcall
cimg_library::CImgDisplay::_events_thread(void *)"
(?_events_thread#CImgDisplay#cimg_library##SGKPAX#Z)
mainwindow.obj : error LNK2019: unresolved external symbol
__imp__SetForegroundWindow#4 referenced in function "public: static unsigned long
__stdcall cimg_library::CImgDisplay::_events_thread(void *)"
(?_events_thread#CImgDisplay#cimg_library##SGKPAX#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__GetWindowRect#8
referenced in function "public: static unsigned long __stdcall
cimg_library::CImgDisplay::_events_thread(void *)"
(?_events_thread#CImgDisplay#cimg_library##SGKPAX#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__CreateWindowExA#48
referenced in function "public: static unsigned long __stdcall
cimg_library::CImgDisplay::_events_thread(void *)"
(?_events_thread#CImgDisplay#cimg_library##SGKPAX#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__DefWindowProcW#16
referenced in function "public: static long __stdcall
cimg_library::CImgDisplay::_handle_events(struct HWND__ *,unsigned int,unsigned
int,long)" (?_handle_events#CImgDisplay#cimg_library##SGJPAUHWND__##IIJ#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__ShowCursor#4
referenced in function "public: static long __stdcall
cimg_library::CImgDisplay::_handle_events(struct HWND__ *,unsigned int,unsigned
int,long)" (?_handle_events#CImgDisplay#cimg_library##SGJPAUHWND__##IIJ#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__TrackMouseEvent#4
referenced in function "public: static long __stdcall
cimg_library::CImgDisplay::_handle_events(struct HWND__ *,unsigned int,unsigned
int,long)" (?_handle_events#CImgDisplay#cimg_library##SGJPAUHWND__##IIJ#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__PeekMessageW#20
referenced in function "public: static long __stdcall
cimg_library::CImgDisplay::_handle_events(struct HWND__ *,unsigned int,unsigned
int,long)" (?_handle_events#CImgDisplay#cimg_library##SGJPAUHWND__##IIJ#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__ShowWindow#8
referenced in function "public: static long __stdcall
cimg_library::CImgDisplay::_handle_events(struct HWND__ *,unsigned int,unsigned
int,long)" (?_handle_events#CImgDisplay#cimg_library##SGJPAUHWND__##IIJ#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__GetWindowLongW#8
referenced in function "public: static long __stdcall
cimg_library::CImgDisplay::_handle_events(struct HWND__ *,unsigned int,unsigned
int,long)" (?_handle_events#CImgDisplay#cimg_library##SGJPAUHWND__##IIJ#Z)
mainwindow.obj : error LNK2019: unresolved external symbol __imp__SetDIBitsToDevice#48
referenced in function "public: struct cimg_library::CImgDisplay & __thiscall
cimg_library::CImgDisplay::paint(void)" (?paint#CImgDisplay#cimg_library##QAEAAU12#XZ)
debug\final.exe : fatal error LNK1120: 20 unresolved externals
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
\BIN\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
\BIN\nmake.exe"' : return code '0x2'
Stop.
My problem now, is I have no idea why I'm having linker trouble. The CImg library is a single H file. It's part of the project and included. I know Qt Creator needs libraries added to the project file, but what is there to add? My library is already listed under headers.
Here is the project file.
QT += core gui
TARGET = final
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h \
C:/includes/CImg.h
FORMS += mainwindow.ui
INCLUDEPATH += C:\includes\
Thanks for the assistance, I'm primarily an embedded systems programmer, and working out of my C and assembly element is getting very frustrating.
You need to link the Cimg library to you GUI program. Add the library in your .pro file.
LIBS += -L$PATH_TO_CIMG_LIB -l$CIMG_LIB
try compiling the cimg header file to a static library
and use (libs+=...youtstaticlibrary) i use visual studio so i cant help you how to add library's to qt , figure that out your self.
steps to compile to static library
eg. create CIMG_LIB project(console project) (or any name you like)
and in your source file include cimg header.
use namespace cimg_library in source code ( dont add anything else here )
compile the project to static library
--> create GUI project with qt
include header file in your project
add library that you previously created..
and ur good to go.

Resources