PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

admin 发表于 2024-11-17 10:31:37 |阅读模式

admin 楼主

2024-11-17 10:31:37

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

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

x
NX2406 版本后二次开发环境变化实践:如何解决“byte 不明确的符号”等抱错问题6 j, m  P* A8 `" P+ O
5 {$ t6 e* y2 U( k7 h4 M) e( ]
在NX2406后的版本进行开发环境升级编译会发现编译不通过(除了相关函数废弃需要更新外)在自身编译环境也存在诸多变化。
0 \( J( V, H- h6 X5 q
! j8 \$ z* n7 V) s& T+ u. b# p

+ }! `' |# j( l; X8 e(1)Visual studio 选择 V143 ,之前版本 V142 ,否则在使用开发工具会出现版本兼容的提示( X: `) \, Z2 i2 P* Q+ j- t# W9 R# J+ S2 n

+ u( C0 A- S2 G3 U3 g. r/ f6 ^
* V% g* j1 b' C/ r5 Y( C0 D  G9 w
(2)C++的标准做了升级,需要使用C++17 的标准
/ L: h: l: R  ^! X4 s, j( G8 z8 c  I7 [  e& m: X4 J0 F, t+ C
; o# Q% W; O8 |
QQ20241117-101221.png 5 ?% T$ ~! W9 H  N) U  w( y5 l

) a9 t% E: k/ H
% i8 g6 z# `8 i
(3)正是因为标准的升级,会出现 “byte 不明确的符号”的抱错,主要原因是因为升级到C++17 出现了std::byte 的类型,而我们在开发过程中使用了 using namespace std;导致出现了冲突。在不使用这种类型的情况下,解决办法如下:! O! l# }2 Z* F+ a

& Q' T3 ^6 X6 s" H! Z1 c

/ \! H4 O" B% x2 Z6 f& i在预处理中加入:_HAS_STD_BYTE=0
1 o2 y8 ]. E7 N; X% A8 y
, Y2 q( g, l+ K0 E
5 V6 }+ U/ v0 }5 z+ X: C  I4 E) ~
QQ20241115-215508.png QQ20241117-101329.png + C3 `4 _- a; {# w) _4 [$ s, Q
: ^. d2 J# F7 v: q! D9 a0 E

" i$ H/ K& w+ l; ~: ~: \(4) UGopen的编译库发生变化,需要重新进行替换,具体替换做法,如何获取所有的lib文件名称,之前的文章有所提及,大家可以参考。
+ G% r& z& n: a& h. o( ?$ x% A9 h" e* F2 Y# A& S  v& w
' Z2 D& U) W, k% g" k7 `& m
二次开发编译器Visual Studio版本匹配常见问题和解决方案
. u# l! g3 M" S- j& G: z( j$ U' {7 }$ Q! y2 O( r( q7 C
# F1 k9 X5 G1 @$ X2 d7 P' u
QQ20241117-101436.png + ?, B! V: R0 c# ]
& I0 A7 n- Q* |3 R8 d0 v% u

/ I$ N8 \5 U' |当然别忘记更新库目录环境的地址
9 D# E( ]5 s2 J2 n% _" n& h1 J) P
0 p! a3 ^# L8 [8 G, w) o! v
# x% s' ^( P. y9 G" D1 ^) C
在解决上述问题后,编译基本能够通过,至于出现函数废弃的地方,需要根据开发实际情况,实用新的函数进行替换。
$ a: H9 `2 j" N0 q  m0 H7 f: T9 Q4 [' s% O4 a8 ~8 q, r3 Y

! |3 K7 F6 \! f& o扫码关注微信公众号,获取更多内容
" Z& q! g2 p& E; P. Q
4 p" T, j" H! p- @

) P6 W$ z, B* a; {( m                               
登录/注册后可看大图
( \+ N6 x3 M# }- @1 X

: `3 e5 o4 P% b: J/ d% f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了