Qt + MinGW + еще одна неопределенная ссылка на проблему `WinMain@16'
Я знаю, я выкопал весь интернет, чтобы выяснить, в чем проблема, и пока ничего не помогло.
Я нахожусь на Windows 7, используя:
Qt 4.8.3: http://releases.qt-project.org/qt4/source/qt-win-opensource-4.8.3-mingw.exe
MinGW32 4.4.0: ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip
Я разработал проект под названием QLC, но автор не поддерживает меня для компиляции в Windows. Я следовал его инструкциям, но я думаю, что они устарели.
Я могу скомпилировать любой демонстрационный пример Qt с помощью Qt Creator, поэтому я считаю, что моя система работает нормально.
При попытке скомпилировать программу я столкнулся с хорошо известной проблемой:
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. Я сделал grep 'WinMain' и не нашел результата по всему дереву исходного кода.
Если вы хотите проверить оригинальные источники:
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), но ни один из них не сработал.
Любое волшебство, пожалуйста?
PS Конечно, я могу собрать на Linux либо i386/amd64
РЕШИТЬ:
Мне просто нужно было добавить следующую строку в файлы.pro, где создавались библиотеки:
win32:QMAKE_LFLAGS += -shared
1 ответ
РЕШИТЬ:
Мне просто нужно было добавить следующую строку в файлы.pro, где создавались библиотеки:
win32:QMAKE_LFLAGS += -shared