我和Visual Studio 2015 c++/CLI boost::thread中的用户有同样的问题:如果我一起使用boost,Windows Forms和C ++ / Cli,我的应用程序在启动时崩溃。
建议的解决方案适用于我(将子系统更改为控制台);唯一的缺点是控制台是与GUI一起启动的。
我找到了另一种解决方案(见https://bytes.com/topic/net/answers/642179-c-cli-winforms-app-native-static-library-singletons-cra):将入口点更改为“?mainCRTStartupStrArray @@ $$ FYMHP $ 01AP $ AAVString @ System @@@ Z”。
但是这只适用于编译32位的情况;对于64位,符号无法解析。 我的问题:
答案 0 :(得分:3)
?mainCRTStartupStrArray@@$$FYMHP$01EAPE$AAVString@System@@@Z
修复算法btw中的一点错误,它不应该添加额外的E,因为这些是管理标识符。链接和运行正常,我还没有测试,如果它解决了静态初始化顺序惨败问题。这很有希望。