creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx

上传人:b****6 文档编号:5948924 上传时间:2023-01-02 格式:DOCX 页数:11 大小:594.52KB
下载 相关 举报
creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx_第1页
第1页 / 共11页
creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx_第2页
第2页 / 共11页
creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx_第3页
第3页 / 共11页
creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx_第4页
第4页 / 共11页
creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx

《creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx》由会员分享,可在线阅读,更多相关《creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx(11页珍藏版)》请在冰豆网上搜索。

creo20+VS采用protoolkit二次开发环境配置64位win7very good one.docx

creo20+VS采用protoolkit二次开发环境配置64位win7verygoodone

creo2.0+VS2010采用protoolkit二次开发环境配置(64位win7)

在网上找了很多资料,也遇到过很多问题。

本文的配置过程主要参考了网上的这篇文章,地址如下:

首先记录正确的环境配置过程,然后用一个实例程序验证,最后说明遇到的问题和注意事项。

电脑win764位系统,安装VS2010,打了SP1补丁,使用开发VC++

配置过程如下:

一、新建MFCDLL

文件>新建>项目,选择MFCDLL,如图所示

DLL类型选择“使用共享MFCDLL的规则DLL(D)”

二、开发环境配置

1、包含目录和库目录的设置(“D:

\Creo2.0”是本机Creo的安装目录)

1)包含目录的添加

操作:

项目>属性>配置属性>VC++目录,选择包含目录,添加:

D:

\Creo2.0\CommonFiles\M010\prodevelop\includes

D:

\Creo2.0\CommonFiles\M010\protoolkit\protk_appls\includes

D:

\Creo2.0\CommonFiles\M010\protoolkit\includes

这三个目录都没有问题

2)库目录的添加,与包含目录的添加类似,添加:

D:

\Creo2.0\CommonFiles\M010\prodevelop\x86e_win64\obj

D:

\Creo2.0\CommonFiles\M010\protoolkit\x86e_win64\obj

64位系统需要添加的是X86e_win64这个目录下的obj目录,和32位系统差别就在这里

3、进行工程属性配置

1)“项目”>属性>配置属性>常规,点击“配置管理器”,配置为Debug,平台为x64,如图

这一步也很关键,如果不改过来的,成功的可能性很小

2)字符集选择“使用多字节字符集”

3)“预处理器”中对“预处理器定义”进行编辑,增加PRO_USE_VAR_ARGS,如下图

4)“代码生成”的“运行库”选择“多线程调试DLL(/MDd),这个是默认的

5)语言,也是默认的

6)“连接器”>“输入”,编辑“附加依赖库”,添加

protk_dllmd.lib

netapi32.lib

wsock32.lib

psapi.lib

ws2_32.lib

mpr.lib

如下图

7)“忽略特定默认库”中添加“msvcrt.lib”,此处不截图。

三、添加实例程序

双击项目源文件中的“Hello.cpp”

1、添加头文件

#include"ProMenubar.h" 

#include"ProMenu.h"

#include"ProUtil.h" 

#include  

#pragmacomment(lib,"netapi32")

如图

2、尾部添加程序

staticuiCmdAccessStateAccessDefault(uiCmdAccessModeaccess_mode)

return(ACCESS_AVAILABLE);

}

voidTest1()

AfxMessageBox(_T("轴"));

voidTest2()

AfxMessageBox(_T("齿轮")); 

extern"C"intuser_initialize()

ProErrorstatus; 

ProFileName MsgFile;

ProStringToWstring(MsgFile,"IconMessage.txt"); //注意此处的IconMessage与后面的text文件夹下的IconMessage.txt文件名必须相同

uiCmdCmdIdPushButton1_cmd_id,PushButton2_cmd_id; 

status=ProMenubarMenuAdd("MainMenu","Function","Help",PRO_B_TRUE,MsgFile); 

ProCmdActionAdd("PushButton1_Act",(uiCmdCmdActFn)Test1,12,AccessDefault,PRO_B_TRUE,PRO_B_TRUE,&PushButton1_cmd_id);

ProMenubarmenuPushbuttonAdd("MainMenu","PushButton","FirstButton","thisbuttonwillshowamessage",NULL,PRO_B_TRUE,PushButton1_cmd_id,MsgFile);

ProCmdActionAdd("PushButton2_Act",(uiCmdCmdActFn)Test2,uiCmdPrioDefault,AccessDefault,PRO_B_TRUE,PRO_B_TRUE,&PushButton2_cmd_id);

ProMenubarmenuPushbuttonAdd("MainMenu","PushButton2","SecondButton","thisbuttonwillshowamessage",NULL,PRO_B_TRUE,PushButton2_cmd_id,MsgFile);

returnstatus; 

extern "C"voiduser_terminate()

AFX_MANAGE_STATE(AfxGetStaticModuleState()); 

}

如图

3、生成Hello

“生成”>“生成Hello”

在项目Hello目录下会生成“Hello.dll”文件(E:

\programming\projects\C\creoTest\Hello\x64\Debug)

4、创建protk.dat文件

在E:

\programming\projects\C\creoTest\Hello目录下创建protk.dat文件,向文件添加如下内容:

NAMEHello

EXEC_FILEE:

\programming\projects\C\creoTest\Hello\x64\Debug\Hello.dll

TEXT_DIR E:

\programming\projects\C\creoTest\Hello\text

STARTUPDLL

FAIL_TOLTRUE

DELAY_STARTFALSE

ALLOW_STOPTRUE

REVISION2014

END

5、在E:

\programming\projects\C\creoTest\Hello目录下创建“text文件夹”,在“text文件夹”下面添加“IconMessage.text”,向其中添加如下内容:

Function

UserFunction

#

#

FirstButton

Demo1

#

#

secondbutton

Demo2

#

#

thisbuttonwillshowamessage

thisbuttonwillshowamessage

#

#

showfirstbutton

showfirstbutton

#

#

四、测试

1、打开Creo2.o,“使用工具”>"辅助应用程序",点击“注册”,选择之前写好的“protk.dat”文件,选中“Hello”,点击“启动”,关闭“辅助应用程序”的小框,可以在工具栏的“工具”中看到实现了上述程序的功能。

 

注意事项:

网上很多教程说要添加4个如下包含目录

D:

\Creo2.0\CommonFiles\M010\protoolkit\includes

D:

\Creo2.0\CommonFiles\M010\protoolkit\protk_appls\includes

D:

\Creo2.0\CommonFiles\M010\prodevelop\includes

D:

\Creo2.0\CommonFiles\M010\prodevelop\prodev_appls\includes

和4个如下库目录

D:

\Creo2.0\CommonFiles\M010\prodevelop\x86e_win64\obj

D:

\Creo2.0\CommonFiles\M010\prodevelop\i486_nt\obj

D:

\Creo2.0\CommonFiles\M010\protoolkit\x86e_win64\obj

D:

\Creo2.0\CommonFiles\M010\prodevelop\i486_nt\obj

但是,由于我的Creo是安装在64位系统下的,安装目录下没有

包含目录

D:

\Creo2.0\CommonFiles\M010\prodevelop\prodev_appls\includes

D:

\Creo2.0\CommonFiles\M010\prodevelop\i486_nt\obj

D:

\Creo2.0\CommonFiles\M010\prodevelop\i486_nt\obj

所以无法配置,实际上

D:

\Creo2.0\CommonFiles\M010\prodevelop\i486_nt\obj

D:

\Creo2.0\CommonFiles\M010\prodevelop\i486_nt\obj

这两个库文件是对32位系统的支持,之前我用vs2008搭建配置环境的时候老是报如下错误

1>hello.obj:

errorLNK2001:

unresolvedexternalsymbol_ProStringToWstring

1>hello.obj:

errorLNK2001:

unresolvedexternalsymbol_ProMenubarMenuAdd

1>hello.obj:

errorLNK2001:

unresolvedexternalsymbol_ProCmdActionAdd

1>hello.obj:

errorLNK2001:

unresolvedexternalsymbol_ProMenubarmenuPushbuttonAdd

1>E:

\programming\projects\C\helloworld\creoTest\hello\Release\hello.dll:

fatalerrorLNK1120:

4unresolvedexternals

1>Buildlogwassavedat"file:

//e:

\programming\projects\C\helloworld\creoTest\hello\hello\Release\BuildLog.htm"

1>hello-5error(s),0warning(s)

==========Build:

0succeeded,1failed,0up-to-date,0skipped==========

原因是我下载的32为的vs2008,默认平台选择是32win(没有找到64位的平台),因此在调用库的时候回去寻找

D:

\Creo2.0\CommonFiles\M010\prodevelop\i486_nt\obj

D:

\Creo2.0\CommonFiles\M010\prodevelop\i486_nt\obj

这两个库目录,而我没有配置这两个库目录,所以报错。

换到vs2010之后,最开始我也大意地在“进行工程属性配置”那一步选择了win32平台,结果也报了上述一大串的平台,后来选择了X64之后就生成成功了!

win32平台是默认的,x64要“新建”才能出来。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1