c++ - 对 `GdiplusStartup@12' 的 undefined reference

标签 c++ linker g++ gdi+

我正在寻找一种将 GDI+ 库与 g++ 编译器一起使用的方法,我在网上阅读了一些指南,但仍然遇到问题...
这是我的代码:

#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'

那么它有什么问题呢?我还需要什么吗?
感谢您的帮助...

最佳答案

我收到了与您类似的消息,经过一些研究,我得出以下结论:在命令行中将 -lgdiplus 放在 *.cpp 文件之后。示例:

g++ -mwindows program.cpp -lgdiplus

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

关于c++ - 对 `GdiplusStartup@12' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9542558/

相关文章:

c++ - 成功编译Node模块和 "Module did not self-register."

c++ - 确定某人是否硬连接到 C++ 中的路由器

c++ - std::conditional 的可变模板使用,其中一种类型是实例化失败

c++ - 如何用宏做static_assert?

c++ - 如何在 C++ 中扫描用户输入并将其切成 block ?

c++ - 成员函数的正确实现方式

c++ - 在静态库(C++、Eclipse CDT)中使用#ifdef

gcc - 为什么库的链接顺序有时会导致 GCC 中出现错误?

c++ - 为什么 vector<bool>::reference 不返回对 bool 的引用?

c++ - 如何在 OSX 上更新 g++ 编译器