我正在寻找一种方法将GDI +库与g ++编译器一起使用,我已经在网上阅读了一些guildlines并仍然遇到问题...
这是我的代码:
#include "gdiplus.h"
using namespace Gdiplus;
// Skip Lines
GdiplusStartup(&lpGdiplusToken, &gdiplusStartupInput, &gdiplusStartupOutput);
// Skip Lines
我已经使用了如下的编译器开关:
g++ -Wall -mwindows -lgdiplus -I"C:\MinGW\include" -I"C:\MinGW\include\gdiplus" -L"C:\MinGW\lib" -g3 -finput-charset=GBK "$(FilePath)" -o "$(FileDir)\$(FileNameNoExt).exe"
我仍然有这样的错误:
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccjX3mCb.o: In function `WinMain@16': D:/Projects/cyau/cyau_pre4_20120226/cyau_main.cpp:65: undefined reference to `GdiplusStartup@12' C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccjX3mCb.o: In function `Z15ExitApplicationP6HWND__jjl': D:/Projects/cyau/cyau_pre4_20120226/cyau_main.cpp:128: undefined reference to `GdiplusShutdown@4'
那有什么问题呢?还有什么我需要的吗?
谢谢你的帮助...
答案 0 :(得分:5)
我收到了与您类似的消息,经过一些研究后我得到了以下内容:在-lgdiplus
文件后面的*.cpp
放置命令行。例如:
g++ -mwindows program.cpp -lgdiplus
该命令编译了我的GDI +程序。
答案 1 :(得分:1)
我使用DevCPP,并遇到了同样的问题。
从 libgdiplus.a
创建 gdiplus.def
使用此命令解决了我的问题:
dlltool -k -d gdiplus.def -l libgdiplus.a
最初我在没有 -k
参数的情况下使用上面的命令。
答案 2 :(得分:0)
我没有使用g ++的经验,但我认为问题在于链接。
gdiplus库没有链接,或者与g ++不兼容。 希望这能帮助您继续追踪问题。