Creo二次开发-makefile

2023-12-21 17:08
文章标签 二次开发 makefile creo

本文主要是介绍Creo二次开发-makefile,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Creo二次开发,很多教程都是用VS。这个庞然大物用起来真的很麻烦,经常出现一些奇奇怪怪的东西。研究Creo二次开发手册发现,软件提供的示例都是带makefile文件的,开始也是在VS中利用makefile对源文件进行编译,但是还是觉得VS太难用了。

现在,经过我的不屑努力,终于把直接可以nmake的makefile文件配好了。不过这个文件中有一个地方一直不太理解:

@<<longline.list

这个东西是个什么意思,请对windows下makefile有研究的朋友帮忙解惑。

有了makefile之后,在VSCode下写代码简直不要太爽。

不过VSCode的历史记录功能没有PyCharm好用,不知道是不是我没配置好,现在的历史记录只是依托Gitee。


# File Name
MAKEFILENAME = makefile# Machine Type
PRO_MACHINE_TYPE = x86e_win64# Executable names
EXE = CreoEx.exe
EXE_DLL = CreoEx.dll# Pro/Toolkit Source & Machine Loadpoint
PROTOOL_SRC = C:/PROGRA~1/PTC/CREO3~1.0/M130/COMMON~1/PROTOO~1
PROTOOL_SYS = $(PROTOOL_SRC)/$(PRO_MACHINE_TYPE)OTK_CPP_SRC = E:/otk_cpp/CreoEx_P30M130/src
OTK_CPP_ROOT = C:/PROGRA~1/PTC/CREO3~1.0/M130/COMMON~1/OTK/OTK_CPP
OTK_CPP_SYS = $(OTK_CPP_ROOT)/$(PRO_MACHINE_TYPE)
OTK_CPP_INCLUDES = $(OTK_CPP_ROOT)/includeICU_PATH = $(PROTOOL_SYS)/obj
#C:\Program Files (x86)\Windows Kits\8.0\Include
SYS_INCLUDE = C:/Progra~2/WI3CF2~1/8.0/Include
#C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
VS_INCLUDE = C:/Progra~2/MICROS~3.0/VC# Include File Paths
INCS = -I. \-I$(PROTOOL_SRC)/includes 	\-I$(OTK_CPP_INCLUDES) 		\-I$(OTK_CPP_SRC)/includes	\-I$(SYS_INCLUDE)/um 		\-I$(SYS_INCLUDE)/shared 	\-I$(VS_INCLUDE)/include 	
# Compiler Flags
CC = "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\cl.exe"
# CC = cl
#DEBUG = /Zi
OTK_CPP_DEFS =
MACH = -DPRO_MACHINE=36 -DPRO_OS=4
CCFLAGS = -c -GS -fp:precise -DUSE_ANSI_IOSTREAMS -DPRO_USE_VAR_ARGS /EHsc $(DEBUG)
CFLAGS = $(CCFLAGS) $(INCS) $(MACH) $(OTK_CPP_DEFS)# Libraries
#C:\Program Files (x86)\Windows Kits\8.0
LIB_PATH = C:/Progra~2/WI3CF2~1/8.0/Lib\win8
LIBS = $(LIB_PATH)/um/x64/kernel32.lib  \$(LIB_PATH)/um/x64/user32.lib   \$(LIB_PATH)/um/x64/wsock32.lib  \$(LIB_PATH)/um/x64/advapi32.lib \$(LIB_PATH)/um/x64/mpr.lib      \$(LIB_PATH)/um/x64/winspool.lib \$(LIB_PATH)/um/x64/netapi32.lib \$(LIB_PATH)/um/x64/psapi.lib    \$(LIB_PATH)/um/x64/gdi32.lib    \$(LIB_PATH)/um/x64/shell32.lib  \$(LIB_PATH)/um/x64/comdlg32.lib \$(LIB_PATH)/um/x64/ole32.lib    \$(LIB_PATH)/um/x64/ws2_32.lib	 \$(VS_INCLUDE)/lib/amd64/libcpmt.lib\$(VS_INCLUDE)/lib/amd64/libcmt.lib\$(VS_INCLUDE)/lib/amd64/oldnames.lib\$(LIB_PATH)/um/x64/uuid.lib	 \$(LIB_PATH)/um/x64/version.lib	 PTCLIBS = \$(OTK_CPP_SYS)/obj/otk_cpp.lib        \$(ICU_PATH)/protoolkit_NU.lib         \$(ICU_PATH)/ucore.lib                 \$(ICU_PATH)/udata.lib PTCLIBS_DLL = \$(OTK_CPP_SYS)/obj/otk_cpp.lib      \$(ICU_PATH)/protk_dll_NU.lib        \$(ICU_PATH)/ucore.lib               \$(ICU_PATH)/udata.lib # Object files
OBJS = annotation_tool_main.obj# Linker
LINK = "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\link.exe"
# LINK = link
#Executable applications compiled using WinMain() instead of main() should set the subsystem to windows instead of console.
LINKFLAGS = /subsystem:console /debug:none /machine:amd64 /ignore:4049 /ignore:4219 /ignore:4217$(EXE) :  $(OBJS) $(PTCLIBS)@echo Start at `date`@echo PROTOOL_SRC = $(PROTOOL_SRC)@echo PROTOOL_SYS = $(PROTOOL_SYS)
#Executable applications compiled using WinMain() instead of main() should set the subsystem to windows instead of console.$(LINK) /out:$(EXE) $(LINKFLAGS) @<<longline.list
$(OBJS) $(PTCLIBS) $(LIBS)
<<	@echo Finished at `date`del $(OBJS)$(EXE_DLL) :  $(OBJS) $(PTCLIBS_DLL)@echo Start at `date`@echo PROTOOL_SRC = $(PROTOOL_SRC)@echo PROTOOL_SYS = $(PROTOOL_SYS)$(LINK) /out:$(EXE_DLL) $(LINKFLAGS) /dll @<<longline.list
$(OBJS) $(PTCLIBS_DLL) $(LIBS)
<<@echo Finished at `date`del $(OBJS)# object dependenciesannotation_tool_main.obj:  $(OTK_CPP_SRC)/annotation_tool_main.cxx$(CC) $(CFLAGS) $(OTK_CPP_SRC)/annotation_tool_main.cxxdll: $(EXE_DLL)clean :del $(OBJS)del $(EXE)nmake -f $(MAKEFILENAME)clean_dll :del $(OBJS)del $(EXE_DLL)nmake -f $(MAKEFILENAME) dll

这篇关于Creo二次开发-makefile的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520815

相关文章

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

Kernel 中MakeFile 使用if条件编译

有时需要通过if  else来选择编译哪个驱动,单纯的obj-$(CONFIG_)就不是很方便,下面提供两种参考案例: 案例一: 来源:drivers/char/tpm/Makefileifdef CONFIG_ACPItpm-y += tpm_eventlog.o tpm_acpi.oelseifdef CONFIG_TCG_IBMVTPMtpm-y += tpm_eventlog.o

Superset二次开发之Select 筛选器源码分析

路径:superset-frontend/src/filters/components/Select  源码文件: 功能点: 作用 交互 功能 index.ts作为模块的入口点,导出其他文件中定义的主要组件和函数。它使其他文件中的导出可以被外部模块使用。 SelectFilterPlugin.tsx 定义主要的插件类 SelectFilterPlugin 和组件 Sele

了解elementUI的底层源码, 进行二次开发

Element UI 是一个基于 Vue.js 的桌面端组件库,广泛用于构建美观、交互友好的用户界面。要深入理解 Element UI 的底层源码并进行二次开发,你需要掌握以下几个关键点: Vue.js 原理 Element UI 是基于 Vue.js 构建的,因此首先需要熟悉 Vue.js 的核心概念和机制,包括: ● 组件系统:Vue.js 的组件化思想,如何定义组件、使用组件、传递属性和事

关于武汉高芯coin417G2红外机芯的二次开发

文章目录 前言一、外观和机芯参数二、SDK的使用1、打开相机2、回调函数中获取全局温度和图像3、关闭相机 前言 最近工作中接触了一款基于武汉高芯科技有限公司开发的红外模组,即coin417g2(测温型)+9.1mm镜头.使用此模组,开发了一套红外热成像检测桌面应用程序.下面简单记录下该模组的使用. 一、外观和机芯参数 如下是该机芯的外观和机芯参数: 二、SDK

NX二次开发—进阶(二)

一、创建圆弧 在NX上通过代码画出圆弧,定义起始和终止位置,还有圆心位置和半径 创建圆弧,需要获取CSYS的矩阵ID,通过UF_CURVE_create_arc函数进行创建 //定义参数UF_CURVE_arc_t arc;arc.start_angle = 0.0;arc.end_angle = 225 * DEGRA;//DEGRA=PI/180//中心坐标arc.arc_center

NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001

由于需要对NFI进行汉化,以及二次开发,首先要下载源码以后编辑通过,NIFI的源码,项目非常多,编译过程中需要编译超过570个jar包,同时编译过程很慢需要30多分钟. 1.首先下载NIFI源码,根据需要下载对应版本: https://github.com/kemixkoo/orchsym-runtime/   首先介绍一下,这个是一个公司根据nifi进行定制开发的,已经汉化,但是不能商

NX二次开发——进阶(一)

一、链表及相关函数的用法 函数说明UF_MODL_create_list创建一个链表,并返回链表的头指针UF_MODL_put_list_item插入元素到链表中,不检验对象是否重复,或者已经存在UF_MODL_ask_list_count获取链表对象数量,从头开始遇到null_tag结束UF_MODL_ask_list_item查询链表对象标识,给个位置返回标识UF_MODL_delete_l

Makefile问答之02 预处理器与宏

GCC Makefile中,怎样设定预处理器名称 在 GCC 的 Makefile 中,预处理器(preprocessor)的名称通常是 cpp(C PreProcessor),但在实际的 Makefile 中,我们一般是通过 gcc 命令来调用预处理器,而不是直接调用 cpp。不过,你可以通过设置 CPP 变量来显式指定预处理器名称和选项。以下是如何在 Makefile 中进行设置和使用的

​​NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002

继续,执行pom.xml引入依赖以后,发现以下几种报错: 可以看到在下载aws-java-sdk-bundle 1.12.710版本的时候报错了 可以看到日志信息,就是在阿里云上下载的,因为阿里云上缺少这个jar包 aws-java-sdk-bundle-1.12.710.jar 这个jar包,我还特意去阿里云上查询了一下 https://developer.aliyun.com/