未定义对“ GdiplusStartup @ 12”的引用

cut*_*r44 4 c++ linker gdi+ g++

我正在寻找一种通过g ++编译器使用GDI +库的方法,我已经在网上阅读了一些准则,但仍然遇到问题...
这是我的代码:

#include "gdiplus.h"  
using namespace Gdiplus;

// Skip Lines

GdiplusStartup(&lpGdiplusToken, &gdiplusStartupInput, &gdiplusStartupOutput);
// Skip Lines  
Run Code Online (Sandbox Code Playgroud)

而且我已经使用了如下的编译器开关:

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"
Run Code Online (Sandbox Code Playgroud)

仍然我有这样的错误:

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'
Run Code Online (Sandbox Code Playgroud)

那怎么了 我还需要什么吗?
感谢帮助...

use*_*257 5

我有类似的消息,你和一些研究之后,我得出以下几点:地方-lgdiplus后,*.cpp在命令行上的文件。例:

g++ -mwindows program.cpp -lgdiplus
Run Code Online (Sandbox Code Playgroud)

该命令编译了我的GDI +程序。


小智 0

我没有使用 g++ 的经验,但我相信问题出在链接上。

gdiplus 库未链接,或者与 g++ 不兼容。希望这将帮助您继续追踪问题。