gdi问题请教:LINK : warning LNK4089: all references to "GDI32.dll" discarded by /OPT:

Ahh_Freshmeat 2013-01-22 10:24:28
因为要转换图片 用到了GDI 但是出现了以下错误

1、编译提示如下警告
:LINK : warning LNK4089: all references to "GDI32.dll" discarded by /OPT:

该问题已通过以下方法解决:
在release版的project->setting->link下的project options
添加/IGNORE:4089


2、编译没错 无法运行 但是进程里面有程序

我把GDI的初始化语句注释掉就好了,请问是什么原因呢?


//初始化 注释掉以下三句就可以运行了
// GdiplusStartupInput m_gdiplusStartupInput;
// GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);
//Gdiplus::GdiplusShutdown(m_gdiplusToken);
...全文
302 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sumos 2013-01-22
  • 打赏
  • 举报
回复
引用 7 楼 thdxs 的回复:
再请教下 gdiplus.dll这个动态库应该放那里呢 引用 4 楼 lile1234_show 的回复:1.GdiplusStartupInput m_gdiplusStartupInput; GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);……
gdiplus.dll存在于系统目录中。如果你是要发布,和exe放在一起。
Ahh_Freshmeat 2013-01-22
  • 打赏
  • 举报
回复
再请教下 gdiplus.dll这个动态库应该放那里呢
引用 4 楼 lile1234_show 的回复:
1.GdiplusStartupInput m_gdiplusStartupInput; GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL); 2. Gdiplus::GdiplusShutdown(m_gdiplusToken); 可能这1,2放的位置有关,你自……
Ahh_Freshmeat 2013-01-22
  • 打赏
  • 举报
回复
我是1放在了构造函数了初始化 2放在了析构函数里面销毁
引用 4 楼 lile1234_show 的回复:
1.GdiplusStartupInput m_gdiplusStartupInput; GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL); 2. Gdiplus::GdiplusShutdown(m_gdiplusToken); 可能这1,2放的位置有关,你自……
lee_鹿游原 2013-01-22
  • 打赏
  • 举报
回复
//GDI+以前写的一个存档部分例子.. int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { GdiplusStartupInput gdiplus; ULONG_PTR gditoken; GdiplusStartup(&gditoken,&gdiplus,NULL); UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: 在此放置代码。 MSG msg; HACCEL hAccelTable; // 初始化全局字符串 LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_GAME, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // 执行应用程序初始化: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_GAME)); //// 主消息循环: ZeroMemory(&msg,sizeof(MSG)); // game=new CGame(hInstance,hWnd); while (msg.message!=WM_QUIT) { if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)){ TranslateMessage(&msg); DispatchMessage(&msg); } now=timeGetTime(); //获取用户输入 game->ProcessInput(); game->Logic(now); //画 } delete game; GdiplusShutdown(gditoken); return (int) msg.wParam; }
lee_鹿游原 2013-01-22
  • 打赏
  • 举报
回复
1.GdiplusStartupInput m_gdiplusStartupInput; GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL); 2. Gdiplus::GdiplusShutdown(m_gdiplusToken); 可能这1,2放的位置有关,你自己查看相关资料或者代码。
Ahh_Freshmeat 2013-01-22
  • 打赏
  • 举报
回复
注释之后 可以显示 但是运行死机
引用 2 楼 lile1234_show 的回复:
GDI+的环境配置没问题? // Gdiplus::GdiplusShutdown(m_gdiplusToken);先把这句注释试试。
lee_鹿游原 2013-01-22
  • 打赏
  • 举报
回复
GDI+的环境配置没问题? // Gdiplus::GdiplusShutdown(m_gdiplusToken);先把这句注释试试。
Ahh_Freshmeat 2013-01-22
  • 打赏
  • 举报
回复
第二个问题怎么办啊 在线等
内容概要:本文详细介绍了一种基于MATLAB实现的改进前推回代法,用于高效求解低压配电网的潮流计算问题。该方法针对传统前推回代法在处理放射状或弱环状配电网络时存在的收敛性差、计算效率低等缺陷,提出了多项优化策略,包括节点分层排序、支路编号优化以及合理的电压初始值设定,从而显著提升了算法的数值稳定性与运算速度。文中系统阐述了改进算法的数学模型构建过程与核心原理,并提供了完整的MATLAB代码实现流程。通过标准算例的仿真测试,验证了该改进方法在计算精度和收敛性能方面的优越性,可为低压配电网的规划、运行状态分析、电压调控及分布式电源接入能力评估等实际工程问题提供可靠的技术支撑。; 适合人群:具备电力系统分析基础知识和MATLAB编程能力的高校研究生、从事电力系统相关研究的科研人员,以及负责配电网规划、运行与优化的工程技术人员。; 使用场景及目标:①实现低压配电网的稳态潮流计算与仿真分析,获取各节点电压和支路功率分布;②支撑含分布式光伏、储能等设备接入的配电网承载力评估与电压越限风险分析;③用于研究电压调控策略、无功补偿配置等优化问题;④作为电力系统专业课程的教学案例,帮助学生深入理解潮流计算的基本原理与数值算法的编程实现。; 阅读建议:建议读者结合文中的理论推导与提供的MATLAB代码进行上机实践,重点关注节点分层逻辑和迭代收敛判据的编程实现细节,通过调试和修改算例参数来加深理解,并可尝试将该方法拓展应用于三相不平衡潮流或动态潮流计算等更复杂的场景。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧