Hello all,

I'm experiencing weired problems when trying to link my application with MinGW.

After generate my Makefile I have the Qt libraries added but no -l options for Qt libraries. My "linking" line is this:

g++ "CMakeFiles/oigui.dir/oigui.cpp.obj" -o oigui.exe -Wl,--out-implib,liboigui.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -LZ:\studies -LC:\Qt\4.3.4-static\lib -lqgarwin C:\Qt\4.3.4-static\lib\libQtCore.a C:\Qt\4.3.4-static\lib\libQtGui.a C:\Qt\4.3.4-static\lib\libQtXml.a -lmingw32 -lqtmain -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32

With this, I have missing symbols for all calls to Qt functions. Of course, if I add:

–lQtCore –lQtGui –lQtXml

        To my linking line, everything links ok.
This problem does not occurs on Linux with gcc, but only with MinGW. My point is, am I missing some point in my project's configuration?

        I added my CMakeLists.txt to clarify.
        
Another important remark is that my Qt version is compiled as static. So, I have no dll's available, only .a files.

        Thanks in advance,

--
        Vitor VASCONCELOS
        Projet QGAR
        LORIA / INRIA-Lorraine
        Campus Scientifique, BP 239
        54506, Vandoeuvre-lès-Nancy, FRANCE
        Tel: +33 (0)3 54 95 85 76


---- CMakeLists.txt -----

PROJECT(oigui)

INCLUDE ( CheckIncludeFiles )
INCLUDE ( CheckLibraryExists )

FIND_PACKAGE(Qt4)

ADD_DEFINITIONS (-DQT_STATIC)

INCLUDE_DIRECTORIES ( ${QT_INCLUDE_DIR} )
INCLUDE_DIRECTORIES ( ${QT_QTXML_INCLUDE_DIR} )
INCLUDE_DIRECTORIES ( ${QT_QTCORE_INCLUDE_DIR} )
INCLUDE_DIRECTORIES ( ${QT_QTGUI_INCLUDE_DIR} )

STRING(REGEX REPLACE "/qt_static_test" "" ROOT_DIR ${PROJECT_SOURCE_DIR})
INCLUDE_DIRECTORIES ( ${ROOT_DIR} )

IF(WIN32)
    SET(QGAR qgarwin)
    SET(MINGW32_LIBS
    mingw32
    qtmain
    gdi32
    comdlg32
    oleaut32
    imm32
    winmm
    winspool
    msimg32
    kernel32
    user32
    shell32
    uuid
    ole32
    advapi32
    ws2_32
)
ELSE(WIN32)
    SET(QGAR qgar_qt4)
ENDIF(WIN32)

LINK_DIRECTORIES ( ${ROOT_DIR})
LINK_DIRECTORIES ( ${QT_LIBRARY_DIR})

ADD_EXECUTABLE(oigui oigui.cpp)

TARGET_LINK_LIBRARIES(oigui ${QGAR} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTXML_LIBRARY} ${MINGW32_LIBS})




_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to