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

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

[复制链接]

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

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

admin 楼主

2024-11-17 10:31:37

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

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

x
NX2406 版本后二次开发环境变化实践:如何解决“byte 不明确的符号”等抱错问题- N( |; G; y: A0 r0 Q& c
4 K* R: E# J5 Q; X7 U4 V
在NX2406后的版本进行开发环境升级编译会发现编译不通过(除了相关函数废弃需要更新外)在自身编译环境也存在诸多变化。3 o0 b5 Y( V5 I* x$ S. J3 X
3 L  ?: k+ G; Z; }' a
+ d7 ?" d. a% L6 }
(1)Visual studio 选择 V143 ,之前版本 V142 ,否则在使用开发工具会出现版本兼容的提示) h" H+ X' E( {$ @9 X  ]" `+ s2 K2 |  {
2 r) J5 a# O1 R2 ?. ]. {
: ~: I& Z- J- j7 ~7 Y
(2)C++的标准做了升级,需要使用C++17 的标准
$ N! z# {, n- s& p+ m4 v$ Y. _3 z4 D4 E+ W8 ?% W2 G& `: t

( \' B+ M, y4 }1 ?6 P& U QQ20241117-101221.png 6 [) i/ p+ Z( J; ~5 q& [; ]

' y* d7 `3 N6 @5 |

$ w& T0 R) w+ O8 @9 w' d4 O(3)正是因为标准的升级,会出现 “byte 不明确的符号”的抱错,主要原因是因为升级到C++17 出现了std::byte 的类型,而我们在开发过程中使用了 using namespace std;导致出现了冲突。在不使用这种类型的情况下,解决办法如下:2 W$ Q: x2 S% T+ G* Q

: v' N% ]" z7 W5 S7 d' x! J

! H7 u  A2 |) |: n% `, U在预处理中加入:_HAS_STD_BYTE=0
8 @  a( z- F* G# m0 T
: g' u8 w( Y  r" m

! }8 {# C  B" G+ k8 X$ d% ] QQ20241115-215508.png QQ20241117-101329.png
) Q3 @  \8 M1 c+ v+ H, J, s9 {& h2 q
; y! y% ?% `6 B4 [, M
(4) UGopen的编译库发生变化,需要重新进行替换,具体替换做法,如何获取所有的lib文件名称,之前的文章有所提及,大家可以参考。8 F& j2 y1 l7 x$ U3 a

3 L4 C7 I" J9 q; U
  m+ u9 {/ b* Y
二次开发编译器Visual Studio版本匹配常见问题和解决方案+ k1 N6 ?) S' Q- D$ n& h

0 ?8 A* h3 [4 Z  p' T) y4 {
& a: x' D) f! i" @8 G
QQ20241117-101436.png 4 |/ O6 x( E! ]% a5 p4 W

0 r& [, W2 X+ Z. ?

/ c1 _- K  W# |2 ?" w% b9 Y当然别忘记更新库目录环境的地址
* `* O8 [  O3 U  m3 E& T- c. g3 k- c3 ^% P* h/ M

9 ~# y) Q, t5 w& r) e# E* |在解决上述问题后,编译基本能够通过,至于出现函数废弃的地方,需要根据开发实际情况,实用新的函数进行替换。
% E+ R) A2 k0 D0 c# D0 q& s+ d
( V% u5 Q7 ?1 _: k+ Y4 E5 S

" e4 x& [) `" v1 X扫码关注微信公众号,获取更多内容) x4 o% b1 ~, j- B

8 x# E0 d' n* D  O
/ L. Z6 g7 t# X2 v: Z
                               
登录/注册后可看大图

" M. j0 s+ W# X; o( W% I' H% ]( x3 i, K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了