我知道,我挖了整个互联网,找出问题所在,到目前为止没有任何帮助。
我在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
我可以用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'
(object_script.libqlcengine.Debug是一个很长的.o文件列表)
现在,在构建的那一点上,它试图链接一个静态.a库,所以我认为没有理由让MinGW寻找WinMain。我做了'WinMain'grep并且在整个源树上没有找到任何结果。
如果您想查看原始来源:
svn co https://qlc.svn.sourceforge.net/svnroot/qlc qlc
或我的分叉版本:
git clone git://git.code.sf.net/p/qlcplus/code qlcplus-code
他们有相同的结果。
伙计们,我在这里失踪了什么?我尝试了一大堆C标志(-mwindows -lmingw32 -DQT_NEEDS_MAIN -lqtmain),但都没有用。
请问有什么魔法吗?
附:当然我可以在Linux上构建i386 / amd64
我只需要将以下行添加到创建库的.pro文件中:
win32:QMAKE_LFLAGS += -shared
答案 0 :(得分:5)
[<强>解决强>
我刚想通了我需要将以下行添加到创建库的.pro文件中:
win32:QMAKE_LFLAGS += -shared