iCAx开思工具箱

标题: 求助:关于PRO/TOOLKIT的测试 [打印本页]

作者: achim    时间: 2006-1-31 22:19
标题: 求助:关于PRO/TOOLKIT的测试
小弟初学PRO/E的二次开发,使用的是PRO/E 2001,在按照书上步骤的进行PRO/TOOLKIT的测试,当对make_install进行makefile时,老提示出错,使得后继工作无法继续。怀疑是make_install内容的问题,自己新手不能判断,想请各位DX不吝赐教,帮忙诊断问题出在哪里,感激不尽!!!

以下是我的make_install的内容:
#             PTC             File
#    Date   Version   Author  Vers  Comment
# --------- -------  -------- ----- -------------------------------------------
# 10-May-98 I-01-07  CHI        $$1 added version header
# 04-JUN-98 I-01-10  KMG        $$2 added mpr.lib
# 04-Sep-98 I-01-18  CHI        $$3 rm obsolete defn
# 09-Mar-99 I-03-03  ksi        $$4 Link with both libc and libcmt
# 15-Mar-99 I-03-04  ksi        $$5 DLL fix
# 28-May-99 I-03-11  ksi        $$6 Link as ST
# 11-Mar-00 J-01-04  CHI        $$7 remove unneeded "del", obsolete /f
# 21-Aug-01 J-01-37  milind     $$8 Added note for compilation using WinMain()
# -----------------------------------------------------------------------------
# File Name
MAKEFILENAME = make_install

# Machine Type
PRO_MACHINE_TYPE = i486_nt

# Executable names
EXE = pt_install_test.exe
EXE_DLL = pt_install_test.dll

# Pro/Toolkit Source & Machine Loadpoint  (EXTERNAL USE - DEFAULT)
PROTOOL_SRC = C:\Program Files\proe2001\protoolkit
PROTOOL_SYS = $(PROTOOL_SRC)/$(PRO_MACHINE_TYPE)

# Pro/Toolkit Source & Machine Loadpoint  (PTC INTERNAL USE)
#PROTOOL_SRC = $(PTCSRC)/protoolkit
#PROTOOL_SYS = $(PTCSYS)

# Include File Paths
INCS = -I. -I$(PROTOOL_SRC)/protk_appls/includes -I$(PROTOOL_SRC)/includes

# Compiler Flags
CC = cl
MACH = -DPRO_MACHINE=29 -DPRO_OS=4
CCFLAGS = -Dhypot=_hypot -DMSB_LEFT -Dfar=ptc_far -Dhuge=p_huge -Dnear=p_near -c -W2 -G4 -Za -D_X86_=1 -D_WSTDIO_DEFINED
CFLAGS = $(CCFLAGS) $(INCS) $(MACH)

# Libraries
PTCLIBS = $(PROTOOL_SYS)/obj/protoolkit.lib
PTCLIBS_DLL = $(PROTOOL_SYS)/obj/protk_dll.lib
LIBS = libc.lib kernel32.lib user32.lib wsock32.lib advapi32.lib mpr.lib winspool.lib

# Object files
OBJS = TestInstall.obj TestError.obj TestRunmode.obj UtilString.obj


# Linker
LINK = link

$(EXE) :  $(OBJS) $(PTCLIBS)
@echo Start at `date`
@echo PROTOOL_SRC = $(PROTOOL_SRC)
        @echo PROTOOL_SYS = $(PROTOOL_SYS)
#e xecutable applications compiled using WinMain() instead of main() should set the subsystem to windows instead of console.
$(LINK) /subsystem:console -out:$(EXE) /debug:none /debugtype:coff /machine:i386 @<<longline.list
$(OBJS) $(PTCLIBS) $(LIBS)
<<

@echo Finished at `date`
del $(OBJS)

# Dll target
dll: $(EXE_DLL)

$(EXE_DLL) :  $(OBJS) $(PTCLIBS_DLL)
@echo Start at `date`
@echo PROTOOL_SRC = $(PROTOOL_SRC)
        @echo PROTOOL_SYS = $(PROTOOL_SYS)
$(LINK) /subsystem:console -out:$(EXE_DLL) /debug:none /debugtype:coff /machine:i386 /dll @<<longline.list
$(OBJS) $(PTCLIBS_DLL) $(LIBS)
<<

@echo Finished at `date`
del $(OBJS)

# object dependencies

PROTK_INST = $(PROTOOL_SRC)/protk_appls/pt_install_test/pt_install_src
PROTK_UTILS = $(PROTOOL_SRC)/protk_appls/pt_examples/pt_utils

TestInstall.obj:  $(PROTK_INST)/TestInstall.c
$(CC) $(CFLAGS) $(PROTK_INST)/TestInstall.c

TestError.obj: $(PROTK_UTILS)/TestError.c
$(CC) $(CFLAGS) $(PROTK_UTILS)/TestError.c

TestRunmode.obj: $(PROTK_UTILS)/TestRunmode.c
$(CC) $(CFLAGS) $(PROTK_UTILS)/TestRunmode.c

UtilString.obj: $(PROTK_UTILS)/UtilString.c
$(CC) $(CFLAGS) $(PROTK_UTILS)/UtilString.c

clean :
del $(OBJS)
del $(EXE)
nmake -f $(MAKEFILENAME)

clean_dll :
del $(OBJS)
del $(EXE_DLL)
nmake -f $(MAKEFILENAME) dll
作者: zzabccn    时间: 2006-2-5 17:50
make_install是proetoolkit帮助中的第一个例子,我以前做过,没有问题。
好像是这样子,命令行上运行    make     make_install
要找到make_install.mak  文件的路径,生成的程序install.dll好像在没有放在当前目录中。是在???/bin中吧,忘记了。
现在可能已没有人使用make来生成程序了,论坛上以前有很多例子,去看一下TOOL大侠的贴子,会有很多帮助。
作者: zzabccn    时间: 2006-2-5 21:09
应该是这样
nmake -f test_install dll
用nmake不是make,刚刚试过.^^
作者: achim    时间: 2006-2-17 21:41
非常感谢zzabccn兄的回复 !!!!

现在问题已经解决了,我想将我所遇到的问题说出来,以便和我一样刚入门的兄弟参考参考.
问题1:makefile时遇到的问题:
由于我最初的PRO/E的安装路径是在c:\program files\proe2001,导致在nmake时出现"fatal error:don't know 'c:\program'"的错误提示,因为"program files"中间有一个空格,导致nmake在刚开始时一直出现错误.
解决:将PRO/E重新安装在c:下时,路径为c:\proe2001,执行nmake成功.
问题2:注册时产生的错误
我使用的是北京大学出版社张继春的书,书上的protk.dat的内容为:
name        install_test
exec_file        E:\work\pt_install_test.exe
text_dir        C:\proe2001\protoolkit\protk_appls\
pt_install_test\text
revision        24
end
于是我依样葫芦地输入,在启动程序时一直失败,E文不好,硬着头皮找出了pro/toolkit user's guide,终于发现了我的问题,原来text_dir的路径应该C:\proe2001\protoolkit\protk_appls\pt_install_test\text,而不能敲回车换行,当将它改为以下内容时,成功.
name                install_test
exec_file        E:\work\pt_install_test.exe
text_dir        C:\proe2001\protoolkit\protk_appls\pt_install_test\text
revision        18
end

以上是我所碰到的问题及解决方法,希望各位DX不要笑话小弟的浅薄,更希望能对一些和我一样刚入门的弟兄们能有帮助.
作者: ted8848    时间: 2006-5-16 15:43
04x
这个问题我也遇到过,大家多交流阿。




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3