首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在操作文件时避免msvcr100.dll依赖?

如何在操作文件时避免msvcr100.dll依赖?
EN

Stack Overflow用户
提问于 2014-12-11 08:14:53
回答 2查看 995关注 0票数 3

我正在用C编写一个自定义安装程序启动程序,它打开、读取和写入文件。我使用fopen()打开文件。这在Linux上非常有效,二进制文件不依赖于libstdc++.so,但是在Visual 2010中的Windows上,我得到了对MSVCR100.DLL的依赖。如果添加/NODEFAULTLIB标志,链接器就会失败。

我需要这个程序不依赖MSVCR100.DLL,因为它启动一个安装程序,在稍后阶段安装VC++ 2010可再发行版,并且在启动时不确定主机是否有这个库。

如果没有MSVCR100.DLL,我如何操作VS中的文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-11 08:23:28

您可以获得msvcr100.dll (可能还有msvcp100.dll)的依赖项,因为您的项目设置定义了这一点。您应该使用静态链接而不是运行时库的动态链接。

更改您的C/C++ code generation settings:运行库。选择一个没有DLL的选项。

票数 2
EN

Stack Overflow用户

发布于 2014-12-11 08:33:46

或者,如果您可以稍微修改代码,您可以使用Win32 API (CreateFile,ReadFile.)。这将链接到内核32.dll,它总是可用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27418148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档