最近我意识到我的c++程序被检测为病毒,我认为这一定是编译器的问题。因此,我卸载了我的编译器并通过msys2重新安装它。输出在我的系统中是正常的,但是当我在虚拟机或其他系统中运行由新编译器创建的EXE输出时,我得到了以下错误:libstdc++-6.‘ve找不到
我不知道如何解决这个问题。我很感谢你的帮助。
发布于 2022-01-11 10:33:58
有些人称这个DLL为地狱,但这通常是因为他们并不完全理解共享库是如何在Windows上工作的。
您可以通过使用链接器标志-static构建.exe文件并使用必要的依赖项静态库文件(*.a)链接来避免DLL依赖。特别是对于C++标准库libstdc++-6.dll,您需要指定链接器标志-static-libstdc++。
或者您可以使用共享库(*.dll),但是需要在与.exe文件相同的文件夹中分发它们。
我编写了一个名为copypedeps的工具,作为https://github.com/brechtsanders/pedeps的一部分来复制.exe文件以及所有必需的.dll文件。
https://stackoverflow.com/questions/70633262
复制相似问题