Qt + MinGW +对"WinMain @ 16"问题的另一个未定义的引用

Mas*_*ari 10 windows qt mingw winmain

我知道,我挖了整个互联网,以找出问题是什么,到目前为止没有任何帮助.

我在Windows 7上,使用:

Qt 4.8.3: https://download.qt.io/archive/qt/4.8/4.8.3/qt-win-opensource-4.8.3-mingw.exe
MinGW32 4.4.0: http://nosymbolfound.blogspot.com/2012/12/since-until-now-qt-under-windows-is.html
Run Code Online (Sandbox Code Playgroud)

我分叉了一个名为QLC的项目,但是作者没有给我支持在Windows上编译.我按照他的指示,但我猜他们已经过时了.

我可以用Qt Creator编译任何Qt演示示例,所以我相信我的系统工作正常.
在尝试编译程序时,我遇到了众所周知的问题:

g++ -enable-auto-import -o libqlcengine.a object_script.libqlcengine.Debug  -L".\lib" -L"c:\Qt\4.8.3\lib" -lwinmm -L../../hotplugmonitor/src -lhotplugmonitor -lQtScriptd4 -lQtXmld4 -lQtGuid4 -lQtCored4
c:/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `WinMain@16'
Run Code Online (Sandbox Code Playgroud)

(object_script.libqlcengine.Debug是一个很长的.o文件列表)
现在,在构建它的时候,它试图链接一个静态.a库,所以我认为没有理由让MinGW寻找WinMain.我做了grep'WinMain'并且在整个源代码树上找不到任何结果.

如果要查看原始来源:

svn co https://qlc.svn.sourceforge.net/svnroot/qlc qlc
Run Code Online (Sandbox Code Playgroud)

或者我的分叉版本:

git clone git://git.code.sf.net/p/qlcplus/code qlcplus-code
Run Code Online (Sandbox Code Playgroud)

他们有相同的结果.
伙计们,我在这里失踪了什么?我尝试了一大堆C标志(-mwindows -lmingw32 -DQT_NEEDS_MAIN -lqtmain),但都没有.

有什么神奇的吗?

PS当然我可以在Linux上构建i386/amd64

解决了:

我只需要将以下行添加到创建库的.pro文件中:

win32:QMAKE_LFLAGS += -shared
Run Code Online (Sandbox Code Playgroud)

Mas*_*ari 5

[ 解决 ]

我刚发现我需要在创建库的.pro文件中添加以下行:

win32:QMAKE_LFLAGS += -shared
Run Code Online (Sandbox Code Playgroud)