2012-07-04 26 views
2

我想爲應用程序編譯插件作爲動態庫。通常,插件是用VisualC++編譯的,但我想用G ++。 SDK文檔明確規定用於VisualC++/vmg/vms的G ++等效

爲指針到成員表示編譯器選項必須設置爲「通用始終」和「點對單繼承的類」,在C++標籤/ C++語言(/ vmg/vms)。如果沒有設置插件會立即崩潰

事實上,只要我將值從我的插件傳遞到應用程序,就會立即崩潰。是否有任何選項會導致在VisualC++中與/vmg /vms具有相同的行爲?


平臺:視窗7 X64的
編譯:MINGW32 G ++ 4.6.2

回答

4

由於指針到構件表示是一個實現細節,並且GCC ABI不被設計爲兼容與MSVC一樣,永遠不會有相同的東西。

只要工作取決於特定於實現的(未指定的)細節(如指針表示),您將無法混合使用所述編譯器編譯的二進制文件。

+0

感謝您的回答。好像我需要進入VC++編譯器。 –