调试代码的时候发现QT对winmain有特殊支持

调试代码的时候发现QT对winmain有特殊支持

http://stackoverflow.com/questions/14115024/how-to-link-qtmain-in-cmake-with-qt5

老外真辛苦:

I upgraded my project code from Qt4 to Qt5. It uses CMake. The conversion got well except for one line of Cmake commands related to Qt. I can’t find in current documentation, like

  • http://qt-project.org/doc/qt-5.0/qtdoc/cmake-manual.html
  • http://qt-project.org/doc/qt-5.0/qtdoc/qtmain.html

How to link with QtMain from CMake (with Qt5)?

It is the only missing bit to convert my project. Can someone point me to a doc explaining this or explain how to do it with Qt5? My Qt4 code worked correctly but the macro I can't find the Cmake macro for Qt5.

EDIT> Here is the CMake file I have at the moment:https://bitbucket.org/klaim/aos_qt5/src/593c195c4c6889f6968d68fca018ef425783a063/tools/aosdesigner/CMakeLists.txt?at=wip_qt5

All qt5 necessary CMake macros have been set correctly I belive, the only thing that don't work is the linking to QtMain that do nothing, as expected since there should be a Qt5 specific way of doing it that I don't find in the Qt5 documentation.

You can browse the file history to see how it was working with Qt4.

 

EDIT : Thanks to Archi comment (see below), simply add

target_link_libraries(<your_app> Qt5::WinMain)

or

target_link_libraries(<your_app> ${Qt5Core_QTMAIN_LIBRARIES})

in your application's CMakeLists.txt. Both syntaxes worked for me.

 

 

//////////////////////

顺便提下CMAKE 2.8.10上有的一个特性:

ADD_EXECUTABLE(**  WIN32 **)

你可能感兴趣的:(调试代码的时候发现QT对winmain有特殊支持)