当我在带有 mingw32 的 Windows 中构建应用程序时,我得到了未定义的引用(在 Linux 中不会发生)。申请分为两部分:
1- 一组带有 PRO 的设计器插件,例如:
QT += 核心 gui sql
CONFIG += 设计器插件 debug_and_release
目标 = $$qtLibraryTarget(impwidgetsplugin)
模板 = 库
这会生成文件: c:\ilri\crossimpact\ 中的 libimpwidgetsplugin.a 和 impwidgetsplugin.dll
2- 库中的一组插件,需要带有 PRO 的 impwidgetsplugin,例如:
QT += 核心 gui sql svg
目标 = $$qtLibraryTarget(impmainmodules) 模板 = lib CONFIG += 插件
win32:LIBS += -Lc:/ilri/crossimpact -limpwidgetsplugin
……
问题是我总是得到:
./release\plots.o:plots.cpp:(.text+0x13f5): undefined reference to `calcDialog::calcDialog(QWidget*)'
calcDialog 在 impwidgetsplugin 中定义。
我可以看到 make 参数具有所需的库 limpwidgetsplugin:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,..\..\..\libimpmainmodules.a -o ..\..\..\impmainmodules.dll object_script.impmainmodules.Release -L"c:\Qt\2010.03\qt\lib" -Lc:/ilri/crossimpact -limpwidgetsplugin -lQtSvg4 -lQtSql4 -lQtGui4 -lQtCore4
知道我需要如何配置 PRO 以便正确链接它吗?
非常感谢您的帮助。卡洛斯。