查看: 1390|回复: 0

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

[复制链接]

4

主题

3

回帖

44

积分

管理员

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

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

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

×
NX2406 版本后二次开发环境变化实践:如何解决“byte 不明确的符号”等抱错问题, K: D9 g+ j, M5 C6 e* I: O* U

/ o+ w7 M1 [/ a3 m- \6 j在NX2406后的版本进行开发环境升级编译会发现编译不通过(除了相关函数废弃需要更新外)在自身编译环境也存在诸多变化。( {% q6 h) m) i; |, i' r/ |
( j% E; ]! a' ~9 A9 V  ?
! m5 t8 E: m% P, f4 l* y/ |
(1)Visual studio 选择 V143 ,之前版本 V142 ,否则在使用开发工具会出现版本兼容的提示/ K4 @* }! N) N7 b
5 \: y" v- N% }% ~
' j# e+ J# i9 e  w
(2)C++的标准做了升级,需要使用C++17 的标准
( o* L0 ^% r1 ?  R: ^8 E* o) f' ^/ E* Z4 B) y9 t$ w
- m: O" W* {: ~' C
QQ20241117-101221.png
' w. B% J$ i2 E8 S/ t1 J3 W  a2 |- T/ N& ?* ^$ k3 B, i. P( {+ S
( f/ }5 d6 [1 {- m, ~1 H
(3)正是因为标准的升级,会出现 “byte 不明确的符号”的抱错,主要原因是因为升级到C++17 出现了std::byte 的类型,而我们在开发过程中使用了 using namespace std;导致出现了冲突。在不使用这种类型的情况下,解决办法如下:  r+ t9 n+ t4 }2 d
4 e5 ~. K. P2 H% I

4 r- a% r) _0 @# f9 d在预处理中加入:_HAS_STD_BYTE=0
) V  h! u+ T1 r/ X$ I. f- ], ?& f! E
) o8 d) S% J0 ]( F# [
QQ20241115-215508.png QQ20241117-101329.png 1 q" V4 W  u- I' p  f

7 |$ I0 S" h. M5 W: }! E

% e* o/ s% q! w6 I6 T0 \8 E8 P(4) UGopen的编译库发生变化,需要重新进行替换,具体替换做法,如何获取所有的lib文件名称,之前的文章有所提及,大家可以参考。+ b$ A* o3 i. X' l
. S. W; F$ N! F' r7 w+ J% J

* C0 f( K9 |# S# p& U# \- r$ H/ ~二次开发编译器Visual Studio版本匹配常见问题和解决方案7 F  H* t- x: S- F* s

/ D7 x9 {7 g  Q9 H& z; M3 d, v

- u7 h) M- e$ S2 g, k  h% _ QQ20241117-101436.png 5 d2 {* n/ d& s
1 s6 n# ?" W6 v
7 `! H6 _1 |) C4 p2 [
当然别忘记更新库目录环境的地址
; C- y7 j4 c. t( ~- P, y8 ~' v5 U% L: N+ H3 c5 j' E& I5 ]
2 B2 l0 G$ T2 D! ?. t
在解决上述问题后,编译基本能够通过,至于出现函数废弃的地方,需要根据开发实际情况,实用新的函数进行替换。; M4 y5 D0 ?# r- M: f1 \+ P2 X

4 X9 x/ X3 a" N( b- Z

: k" v. _# ]) v3 z2 @1 s4 V扫码关注微信公众号,获取更多内容( X! h% d) [3 J5 \8 P

' T5 C" b; q( p' k: y! s
9 l# F* M6 l" z' `
                               
登录/注册后可看大图
6 X/ i& ^. N+ W% B  e0 w0 E: t
  D* J- F2 A3 S; z
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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