我有一個使用__cdecl
調用約定(msvc2010)編譯的項目,我使用相同的編譯器使用默認設置編譯boost。如何使用__cdecl調用約定編譯boost?
該項目與升壓聯繫,但我在運行時我得到了這樣的斷言消息: 文件:... \提升\提升\ program_options \詳細\ parsers.hpp 行:79
運行時檢查失敗#0 - 在函數調用中未正確保存ESP的值。這通常是調用一個調用約定的函數聲明的結果,其中函數指針聲明的調用約定不同。
有以下幾個問題:
- 什麼調用約定並在默認情況下在Windows(msvc2010)推動建立與
- 怎麼我編譯加強與__cdecl調用約定
- 爲什麼升壓不能夠防止與不同調用約定的代碼鏈接?我明白,boost有真正的智能庫自動包含代碼。
更新#1
它看起來是升壓並在運行時編譯和正確調用約定的鏈接,我還是得到了上述問題。我做了一個示例應用程序使用相同的代碼,它的工作原理,但在我的應用程序失敗。唯一的區別可能是從項目配置或包括/ stdafx.h