PLM之家PLMHome-工业软件践行者

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

[复制链接]

2024-11-17 10:31:37 1182 0

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
NX2406 版本后二次开发环境变化实践:如何解决“byte 不明确的符号”等抱错问题& f4 H3 f! a3 l6 ]/ V
2 z  o& K# A3 l5 B# q
在NX2406后的版本进行开发环境升级编译会发现编译不通过(除了相关函数废弃需要更新外)在自身编译环境也存在诸多变化。
9 T# ]/ H+ @5 ?; d0 a( {1 A& x% }% I( {9 w  \, Y& V/ i2 e

% k, r/ Y: Q) @(1)Visual studio 选择 V143 ,之前版本 V142 ,否则在使用开发工具会出现版本兼容的提示
5 n; X! `+ k8 F2 }* |
' H; P7 v- E, M- A! ]/ @8 R
* N7 k- v& V) a) v  G
(2)C++的标准做了升级,需要使用C++17 的标准9 D- b% K6 E6 D3 v! C/ X" G) S( e

+ A; V/ d$ S! `! O/ g! V

; O4 p. h( H  O- x6 S# O QQ20241117-101221.png
) `9 P; j6 A5 I2 i2 @) Z/ u5 h
* u" W; n0 P& m2 o/ }5 n5 p
! ]. w+ R& Z# I! d
(3)正是因为标准的升级,会出现 “byte 不明确的符号”的抱错,主要原因是因为升级到C++17 出现了std::byte 的类型,而我们在开发过程中使用了 using namespace std;导致出现了冲突。在不使用这种类型的情况下,解决办法如下:/ ~/ G5 ]! h( O, u, j
) \5 ~/ |  p, @/ c& O9 }" ?

7 D0 s" Q4 L: v在预处理中加入:_HAS_STD_BYTE=0
5 }) @  N/ {$ I6 ^; U- r! k" Z& N0 u: V

7 F4 i/ `' {& A; J# j0 E& X QQ20241115-215508.png QQ20241117-101329.png
: F5 B% e4 G2 X
" L' p( Q7 Y$ b( t
5 H4 G0 `6 L6 n% e+ T; K/ |
(4) UGopen的编译库发生变化,需要重新进行替换,具体替换做法,如何获取所有的lib文件名称,之前的文章有所提及,大家可以参考。2 o4 a4 H& V2 H$ L% p# A4 r

8 Z8 L' R# B' `( U

& v7 _+ A2 Z+ C: h6 a; F3 B* v二次开发编译器Visual Studio版本匹配常见问题和解决方案) u# Z. m* l0 ?% a$ v0 @9 e; F
" L, |1 a% |; c/ |' z

6 D% }1 p8 P% {. W: a QQ20241117-101436.png
3 w  F# X: P* W0 C$ ]( B. {, D7 Z& t) T
' U- v1 b8 J5 B' q2 _
当然别忘记更新库目录环境的地址2 i. o% |2 F+ t

& ?  {3 R: E: b: }4 ^
+ B' {' }( [0 t4 {& s( e
在解决上述问题后,编译基本能够通过,至于出现函数废弃的地方,需要根据开发实际情况,实用新的函数进行替换。
: {. ]7 i! _0 r4 Q  Z3 X1 w" V
! }7 {9 K$ c3 k5 d8 D2 F% `  ?  u' K

8 Z& X0 R+ G/ A  }. p扫码关注微信公众号,获取更多内容& X- K3 O" q* a& t" q2 c  `
' x5 F* B8 }& `; n$ ?

4 M* h  l$ L3 L0 j" |( t% F                               
登录/注册后可看大图
/ h$ Z! L: ~. i" |
" d. g! C( m4 T& T3 Q' e
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了