锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / C++开源 / PS插件开发使用MFC
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品独创开源文章,禁止任何形式的转载和任何形式的非法使用,侵权必究


PS插件开发使用MFC

在PS的SDK里,提供有2个例子,MFCPlugIN是Filter类型例子,使用了MFC,而AutomationFilter就Automation类型例子,它没有使用MFC。现在为了在Automation类型里使用MFC,对2者代码进行了混合,下面说明些操作步骤。

MFCPlugIN向AutomationFilter移植MFC

MFC的使用要包含一些头文件,这些头文件在sdtafx.h里包含,所以移植就主要把这个头文件从MFCPlugIN项目移植到AutomationFilter,另外还移植了一个对话框头文件。
遇到了CRect类型冲突问题,因为MFC环境和PS SDK环境都定义了这个类型。
另外链接也失败了,库好像有冲突。

MFCPlugIN修改为Automation类型插件

把MFCPlugIN主函数内容改成AutoPluginMain(),对照头文件定义那些未定义。

两个头文件AutomationFilter.h,AutomationFilterUI.h移到MFCPlugIN中,注释掉其中不需要的东西,改动包含头文件名。

启动调试,查看错误改动。

主要的环境不懂,改来改去没有头绪,也不知道具体的错误是什么导致的,只知道改错误的本身,结果越改错误越多。
遇到如下问题:
error LNK2005: _DllMain@12 已经在 PIDLLInstance.obj 中定义
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMTD.lib(new.obj) 中定义
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMTD.lib(dbgdel.obj) 中定义
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) 已经在 LIBCMTD.lib(new2.obj) 中定义
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已经在 LIBCMTD.lib(delete2.obj) 中定义
1>     正在创建库 .\..\..\Output\Objs\MFCPlugIn\Debug/MFCPlugIn.lib 和对象 .\..\..\Output\Objs\MFCPlugIn\Debug/MFCPlugIn.exp
1>PIUActionUtils.obj : error LNK2019: 无法解析的外部符号 "void __cdecl AliasToFullPath(char * *,char *,long)" (?AliasToFullPath@@YAXPAPADPADJ@Z),该符号在函数 "void __cdecl DumpInfoFromDescriptor(struct _ADsc * const,class std::basic_ofstream<char,struct std::char_traits<char> > &)" (?DumpInfoFromDescriptor@@YAXQAU_ADsc@@AAV?$basic_ofstream@DU?$char_traits@D@std@@@std@@@Z) 中被引用
1>..\..\Output\Win\Debug\AutomationFilter.8li : fatal error LNK1120: 1 个无法解析的外部命令

总结

PS插件是特殊环境,使用另外环境的代码,难上加难。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内