我正在尝试创建一个用于 windows/MSVC 的 c++ 库。
我的问题是,似乎为了正确链接,我需要分发一堆不同的版本,链接到不同版本的 MSVC 的 c++ 运行时——单线程和多线程、调试和发布、不同的编译器版本、各种其他安全性和其他选项。
我很想分发两个,32 位和 64 位。
我的想法是为我的所有 STL 类型使用不同的 new 运算符(例如 mynew)和自定义分配器。创建库时,/nodefaultlib。然后,当从父项目链接时,要求他们将 mynew 转换为 new,并将我的 stl 分配器转换为标准分配器(或他们选择的一个)。我想我需要做删除和其他一些功能。当然,我会提供一个带有库的示例 thunking 实现,但这有望为每个人省去很多麻烦。
这可能吗?有没有人试过这个?是否有在 windows/MSVC 上创建/分发库的最佳实践?