QStyleSheetStyle::styleSheetPalette 的原因我找到了,可能是我用的SDK发布的时候使用了
DEFINES += QT_NO_STYLE_STYLESHEET 这个宏定义,所以lib里没有这个符号,昨天粗心没有看到。
现在还剩下一个问题:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\test.exe tmp/obj/debug_shared/main.o tmp/obj/debug_shared/mainwindow.o tmp/obj/debug_shared/qlabelad.o tmp/obj/debug_shared/moc_mainwindow.o tmp/obj/debug_shared/moc_qlabelad.o -L"d:\Qt\2010.04\qt\lib" -L"d:\Qt\2010.04\qt\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
mingw32-make[1]: Leaving directory `D:/Qt/2010.04/qt/test-build-desktop'
mingw32-make: Leaving directory `D:/Qt/2010.04/qt/test-build-desktop'
tmp/obj/debug_shared/qlabelad.o: In function `QLabelAdPrivate':
D:\Qt\2010.04\qt\test-build-desktop/../test/qlabelad.cpp:59: undefined reference to `QFramePrivate::QFramePrivate()'
为什么会报 QFramePrivate::QFramePrivate() 这个构造函数找不到呢?
qt源代码里有的:
QFramePrivate::QFramePrivate()
: frect(QRect(0, 0, 0, 0)),
frameStyle(QFrame::NoFrame | QFrame::Plain),
lineWidth(1),
midLineWidth(0),
frameWidth(0),
leftFrameWidth(0), rightFrameWidth(0),
topFrameWidth(0), bottomFrameWidth(0)
{
}