在没有运行时的情况下构建windows c库?
我正在尝试创建一个用于
Windows / MSVC的c库.
我的问题是,似乎为了正确链接,我需要分发一堆不同的版本,链接到不同版本的MSVC的c运行时 – 单线程和多线程,调试和发布,不同的编译器版本,各种其他安全性和其他选择. 我喜欢分发两个,32位和64位. 我的想法是为我的所有STL类型使用不同的新运算符(比如,mynew)和自定义分配器.创建lib时,/ nodefaultlib.然后,当从父项目链接时,要求他们将mynew转换为new,并将我的stl分配器转换为标准的(或者他们选择的一个).我想我需要删除,以及其他一些功能.当然,我会提供一个示例的thunking实现与库,但这将有希望为每个人节省很多头痛. 这可能吗?有没有人试过这个?是否有关于Windows / MSVC上的库创建/分发的最佳实践? 解决方法
你想要静态链接作为一般答案.
关于克里斯回答的快速说明(不想去除助力因为它主要是好的,但是……): 不要链接到msvcrt.dll(无版本的);这是特定于操作系统的版本DLL,如果链接到它,您的应用程序可能无法在其他版本的Windows上运行.据我所知,你应该始终链接到msvcrt ##.dll. DDK可能包含一个lib,但除非你真的知道你在做什么,否则不要链接到它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- vCenter6.7安装报错,错误1722,Windows install
- Microsoft Windows中的FIPS“单用户模式”要求
- 使用NuGet将项目程序集引用添加到名为* .Resourc
- win10安装mxnet cuda9.0-gpu版
- windows – 如何查看/何时实际完成长文件复制操作
- 带有Windows身份验证的WebAPI返回401未授权
- winapi – Win32重叠的I/O – 完成例程或WaitFor
- windows-server-2008-r2 – Windows Server 2008
- Windows:如何使用动态搜索和替换“设置”?
- windows-server-2008-r2 – 是否可以在不停机的情