我無法在我的Qt應用程序中使用MonitorFromPoint函數。我有最新的Qt SDL 2010.05使用MinGW在Windows XP在Qt4應用程序中使用user32.dll中的函數
#include <QtCore/QCoreApplication>
#include<windows.h>
#include <winuser.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
POINT pt;
MonitorFromPoint(pt,2);
return a.exec();
}
我已將此添加到.pro文件
LIBS+= -luser32
,其結果是
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"..\include\QtCore" -I"..\include" -I"..\include\ActiveQt" -I"tmp\moc\debug_shared" -I"..\testUser32" -I"." -I"..\mkspecs\win32-g++" -o tmp\obj\debug_shared\main.o ..\testUser32\main.cpp
mingw32-make[1]: Leaving directory `C:/Qt/2010.05/qt/testUser32-build-desktop'
mingw32-make: Leaving directory `C:/Qt/2010.05/qt/testUser32-build-desktop'
..\testUser32\main.cpp: In function 'int main(int, char**)':
..\testUser32\main.cpp:8: error: 'MonitorFromPoint' was not declared in this scope
mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1
mingw32-make: *** [debug-all] Error 2
The process "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" exited with code %2.
Error while building project testUser32 (target: Desktop)
When executing build step 'Make'
有人在IRC說這是一個mingw prolem,我應該使用visualc編譯器。切換編譯器需要時間,也許我會發現其他問題。我從wingdi.h導入了函數,我沒有問題。 我需要一個更好的解釋關於這個問題,你怎麼弄出來的和解決方案
P.S.我想獲得在多顯示器系統的屏幕geometryes,QDesktopWidget不能正常工作,請參閱Capture multiple screens desktop image using Qt4
我不確定我的評論會有多可笑。但是,您可以手動包含函數signature.LOL,但它不是永久性的補救措施。但它應該工作。 – 2010-10-22 05:47:18