【发布时间】:2020-09-09 18:48:45
【问题描述】:
语言:C++ IDE:代码::块 编译器:GNU GCC 操作系统:Windows
我正在尝试创建一个可执行文件。当我转到可执行文件并尝试打开它时,它说“代码执行无法继续,因为找不到 libstc++-6.dll。重新安装此程序可能会解决此问题。”问题是当我在我的 IDE 中运行代码时它可以工作,但当我尝试双击可执行文件本身时就不行。
我做了一些实验并想出了这个:
1:这个问题只有在我使用 iostream 库时才会出现。 2:我查看了编译器的目录,确实有libstc++-6.dll。
这个问题困扰了我一段时间,我不知道如何解决它...... 任何帮助表示赞赏。谢谢!
编辑:我不知道如何静态链接它,如果那是一个词。所以我所做的是将三个库复制并粘贴到与我的 exe 相同的目录中,并且它起作用了。这些库是我的编译器告诉我丢失的库。谢谢大家!
【问题讨论】:
-
除非您的路径设置另有说明,否则您需要将
libstc++-6.dll与您的可执行文件放在同一目录中。 -
您的应用程序运行情况如何?您是在 Windows 资源管理器中双击它,从命令提示符运行它(如果是,从哪个目录?),使用 Win+R“运行程序”提示符,还是以其他方式启动它?
-
不同之处在于从 IDE 运行代码将使用编译器运行时的文件夹填充 windows PATH 环境变量,而在 windows 中单击可执行文件时不会出现此类行为。您可以在 windows 中进入您的环境变量并添加一个条目或将所需的 dll 复制到与可执行文件相同的位置,
-
一种可能的替代方法:使用
-static链接器选项静态链接标准库。可执行文件会更大,但您不再需要 dll。
标签: c++ executable