2014-03-12 40 views
0

我在Code :: Blocks中创建了一个小文本冒险游戏,它只包含库iostream和字符串。当我编译并运行它完美工作的程序,但是当我尝试执行.exe文件本身我得到的是以下图像libgcc_s_dw2-1.dll从您的计算机中丢失

http://i1273.photobucket.com/albums/y414/blueblur112198/error_zps558a6867.png

我做了一堆的谷歌搜索中的错误答案但他们都没有工作。我也搜查了这个网站,这里没有任何答案。所以我决定在这里做一个帐户,并要求我提出具体问题。

我的编译器是GNU GCC,我的开发平台是Windows 7 64位。

回答

0

由于您使用的两个iostreamstring,可执行需要对标准库,其中包含的,比方说,string::begin()string::size()定义链接。

如果标准库是作为共享库构建的(即,如果您在Windows下是DLL),那么需要找到它以便程序正常运行。您可以在Code :: Blocks中执行它的原因是,IDE确实将库的路径包含在目录列表中以查找动态对象,但是无论何时单独运行可执行文件,系统都无法找到该DLL。

解决方案是将libgcc_s_dw2-1.dll包含在可执行文件的文件夹中(单调乏味),或将它所在的路径添加到PATH环境变量中。

+0

怎么会这样做呢?我对这种语言有点新鲜。 – Blueblur

+0

@Blueblur第一个选项只需要转到编译器发行版中的'bin'目录,获取DLL并将其粘贴到可执行文件所在的目录中。第二个涉及设置一个环境变量,看看[this](http://stackoverflow.com/questions/9546324/adding-directory-to-path-environment-variable-in-windows)。 – 2014-03-12 18:49:07