[問題] visual studio舊專案引用新傳案編譯錯誤已刪文

看板C_and_CPP (C/C++)作者 (皮老闆)時間1周前 (2025/03/02 14:19), 1周前編輯推噓2(202)
留言4則, 4人參與, 6天前最新討論串1/1
開發平台(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後便會出現同樣的錯誤. --

12/27 09:55,
快推不然別人以為我看不懂
12/27 09:55

12/27 10:07,
但是樓上沒推阿.........
12/27 10:07

12/27 10:12,
這個好笑
12/27 10:12
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 138.199.35.205 (美國) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1740896379.A.463.html ※ 編輯: sohumi (138.199.35.205 美國), 03/02/2025 14:20:55

03/03 19:02, 6天前 , 1F
看接不接受 Dynamic linking ?
03/03 19:02, 1F

03/03 21:07, 6天前 , 2F
報錯的那一行寫了些什麼? .begin 的左邊是什麼?
03/03 21:07, 2F

03/04 01:42, 6天前 , 3F
你確定新的專案用的是同一個cpp std?
03/04 01:42, 3F

03/04 16:59, 6天前 , 4F
預計週末刪文,有空補一下更多 context
03/04 16:59, 4F
文章代碼(AID): #1dm_XxHZ (C_and_CPP)
文章代碼(AID): #1dm_XxHZ (C_and_CPP)