use*_*545 4 .net c++ static runtime visual-studio-2010
我正在尝试使用C++编译一个应用程序,该应用程序无需.net框架或必须安装Visual Studio运行时.我做了一些研究,发现MSDN上的这篇文章展示了如何编译本机C++代码.但是当我按照这个例子时,在没有visual studio运行时的计算机上运行生成的可执行文件后,我MSVCP100D.dll的计算机缺少一个错误.我知道可以通过键入-static-libgcc -static-libstdc++生成静态二进制文件来修复与GCC类似的错误.是否可以使用Visual Studio 2010执行此操作?我希望这样做的原因是我喜欢使用Visual Studio IDE,但我希望我的代码可以移植到其他操作系统,如UNIX.谢谢!
注意:我认为发布我为编译目的而编译的代码可能会有所帮助.
#include <iostream>
int main()
{
std::cout << "Hello world";
}
Run Code Online (Sandbox Code Playgroud)
MSVCP100D.dll是调试版本MSVCP100.dll.它们是实现C运行时库的动态链接库.这是在Visual C++ 2010中实现C++标准库所必需的.
编译器MSVCP100D.dll在调试模式下链接.MSVCP100D.dll当您安装Visual Studio 2010附带的编译器时,您的开发计算机上应该有一个.如果不是这样,那么安装就会出现问题.
编译器MSVCP100.dll在发布模式下链接.如果您计划部署应用程序,则需要在发布模式下进行编译并分发二进制文件的发行版本.不要分发二进制文件的调试版本.
即使在执行此操作后仍然会出现错误,您可能需要安装Visual C++ 2010运行时.
安装程序可供下载:
如果您不想链接动态库,可以通过指定/MT编译器开关将C运行时库静态链接到应用程序中,如此处所述.
请注意,静态链接将增加应用程序二进制文件的大小,如果更新了C运行时库(例如,安全性/性能改进),除非重新编译应用程序,否则应用程序将不会使用它们.
我强烈建议您安装可再发行软件包,因为您可能使用的许多其他应用程序可能需要这些库.
| 归档时间: |
|
| 查看次数: |
3709 次 |
| 最近记录: |