[问题] visual studio旧专案引用新传案编译错误

楼主: sohumi (皮老板)   2025-03-02 14:19:27
开发平台(Platform): (Ex: Win10, Linux, ...)
visual studio 2013 2022
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
visual studio 2013 (v120) visual studio 2022(v143)
问题(Question):
有一个快十年的旧专案A 使用VS2013(使用v120), 必须引用一个VS2022的专案B(使用v143)
A新增B到include directory后编译正常,但只要A include到B的类别,就会报错.
错误 C2228 left of '.begin' must have class/struct/union
感觉是net framework版本不同造成的.
A引用B,会使得B也使用v120去编译,造成错误.
若B独自编译是成功的. 有没有可能设定成各自的专案使用各自的编译平台?
补充说明(Supplement):
我尝试开了一个空白新专案C 使用v143,同样引用B,编译正常.
若把C的编译改成v120后便会出现同样的错误.
作者: bestrick ( )   2025-12-27 09:55:00
快推不然别人以为我看不懂
作者: LLsolo (键盘法官)   2025-12-27 10:07:00
但是楼上没推阿.........
楼主: sohumi (皮老板)   2025-12-27 10:12:00
这个好笑
作者: KyuubiKulama (九喇嘛)   2025-03-03 19:02:00
看接不接受 Dynamic linking ?
作者: LPH66 (-6.2598534e+18f)   2025-03-03 21:07:00
报错的那一行写了些什么? .begin 的左边是什么?
作者: wulouise (在线上!=在电脑前)   2025-03-04 01:42:00
你确定新的专案用的是同一个cpp std?
作者: lc85301 (pomelocandy)   2025-03-04 16:59:00
预计周末删文,有空补一下更多 context

Links booklink

Contact Us: admin [ a t ] ucptt.com