查看: 1465|回复: 0

[原创] NX2406 版本后二次开发环境变化实践:如何解决“byte 不明...

[复制链接]

4

主题

3

回帖

46

积分

管理员

积分
46
发表于 2024-11-17 10:31:37 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
NX2406 版本后二次开发环境变化实践:如何解决“byte 不明确的符号”等抱错问题
4 x( w2 R* }# d3 W0 J4 G" J2 W9 _  p
在NX2406后的版本进行开发环境升级编译会发现编译不通过(除了相关函数废弃需要更新外)在自身编译环境也存在诸多变化。: u0 G6 ?" t* g- k! S

5 K% ^8 o+ p5 r) {5 z3 y' a. D
& v* [4 j  N+ V* R
(1)Visual studio 选择 V143 ,之前版本 V142 ,否则在使用开发工具会出现版本兼容的提示
( v: M- ]% \2 ~* _
) ]' j0 \  H% r1 B( K, s' c  m
" |2 R, z6 W  x" W& `' ?
(2)C++的标准做了升级,需要使用C++17 的标准8 S1 \9 o, h# X: O

$ u5 X+ v8 A& `1 t) R* o

) m" j' {' O( z9 C1 y! [ QQ20241117-101221.png ) t  P4 x. l/ v# \& X8 V! {' R- {( |) e4 H

2 u6 F* O- v6 I0 `, M8 G
. H) e! m( s+ h+ A7 Q4 k" a
(3)正是因为标准的升级,会出现 “byte 不明确的符号”的抱错,主要原因是因为升级到C++17 出现了std::byte 的类型,而我们在开发过程中使用了 using namespace std;导致出现了冲突。在不使用这种类型的情况下,解决办法如下:' O, s& ]+ b: r1 X+ _* A

) N- Y( @3 {4 O

; h: q  m  u2 u在预处理中加入:_HAS_STD_BYTE=0 & ]4 w, M+ D. r' M! ~/ e
! I: u  y8 i# |, W) s
" h( B& y. g5 \% s/ i/ [; V
QQ20241115-215508.png QQ20241117-101329.png
* X  v% h' m8 F$ X- z
, o6 ?  G+ b3 {$ s% O7 Q1 Z

/ E/ H* m( k6 o" A' d' R9 o% v(4) UGopen的编译库发生变化,需要重新进行替换,具体替换做法,如何获取所有的lib文件名称,之前的文章有所提及,大家可以参考。
3 [, r) p; l6 Y( z4 o5 V" s5 F1 Q' G! I! [. W# S8 |
- e. D( V  k- m) R+ C
二次开发编译器Visual Studio版本匹配常见问题和解决方案3 [( u" ^. x- o+ Q( c( N9 L% p7 }

: K- u! J2 D7 x

0 m% |* q% L  }/ s0 t; [ QQ20241117-101436.png
0 k- R1 Y& g9 l0 {/ k' Z
0 b, ~- P. b2 a8 Q

) C* o7 n1 ?; E# ]8 G$ k当然别忘记更新库目录环境的地址
' R6 g" C. g* R3 N% X& m
/ P# t6 o3 q$ ]

& w9 r+ c7 F1 t" Q在解决上述问题后,编译基本能够通过,至于出现函数废弃的地方,需要根据开发实际情况,实用新的函数进行替换。1 J/ b0 m# M8 U5 h5 T

7 M/ _! t0 j# e) ]: e0 x2 P

' O% t2 j, @+ u, ~1 J7 ^' T6 A扫码关注微信公众号,获取更多内容  R! x% R, h0 e' M4 `! e
. _( s( N# K/ J, E0 U% q

) G  Y( S+ W% ]                               
登录/注册后可看大图

( U7 d) F3 g0 q2 g0 X5 h+ Y+ c8 G  X! T+ @2 G) h% c* ~: Y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部