[問題] 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