关于MinGW GCC编译C++程序动态链接到libgcc_s_dw2-1.dll的问题

如果你使用MinGW GCC 4.4.0默认选项编译C++程序,就会动态链接到libgcc_s_dw2-1.dll,编译后的执行文件运行时会出现错误:

 

其中的原因:

Dynamic linking with libgcc_s_dw2-1.dll is necessary to throw exceptions between different modules, such as between two DLLs or a DLL and an EXE. Consequently, it is the default for all languages other than C.

 

解决办法:

To disable this dynamic linking, use -static-libgcc. To enable this dynamic linking in C, use-shared-libgcc.

 

Eclipse中参数设置方法:
To add this flag in Eclipse, go to Project->Properties. Under "C++ Build", select "Settings". Under "MinGW C++ Linker", select "Miscellaneous". Add "-static-libgcc" to the "Linker flags" field. You may have to do this for your other build configurations and projects.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Step 1 Open the zip-file you downloaded from DLL-files.com . Extract the DLL-file to a location on your computer. If you are unsure about how to extract your zip-file we recommend using File Viewer Plus 2. With it you can open your zip-file as well as over 300 other file formats (like video, music, images, pdf etc.) It’s a handy tool to keep around. After extracting your zip-file, place the extracted DLL-file in the directory of the program that is requesting the file. Make sure to use a 32bit DLL-file for a 32bit program, and a 64bit DLL-file for a 64bit program. Failure to do so will likely result in a 0xc000007b error. Step 2 If that does not help your problem, place the file to your system directory. By default, this is C:\Windows\System (Windows 95/98/Me), C:\WINNT\System32 (Windows NT/2000), or C:\Windows\System32 (Windows XP, Vista, 7, 8, 8.1, 10). On a 64bit version of Windows, the default folder for 32bit DLL-files is C:\Windows\System32\ , and for 64bit dll-files C:\Windows\SysWOW64\ . Make sure to overwrite any existing files (but make a backup copy of the original file). Reboot your computer. Step 3 If the problem still occurs, try the following to register the DLL-file: For 32bit DLL-files on a 32bit Windows, and for 64bit DLL-files on a 64bit Windows: Open an elevated command prompt. To do this, click Start, click All Programs, click Accessories, right-click "Command Prompt", and then click Run as administrator. In Windows 8/10, go to the Start screen. Start typing cmd and Windows will find "Command Prompt". Right click "Command Prompt" and choose "Run as administrator". If you are prompted for an administrator password or for a confirmation, type the password, or click Allow. Type regsvr32 "filename".dll and press Enter. Registering 32bit DLL-files on a 64bit Windows: Open an elevated command prompt, as instructed above. In the command prompt, start by typing following and press enter: cd c:\windows\syswow64\ th
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值