项目不会执行丢失的dll,不确定是什么意思?

时间:2018-10-04 03:07:22

标签: c++ codeblocks sfml

首先,IDE不是我的强项。我想到的一个问题是:编译器设置和项目构建设置是否相同?因为除了调试和发布外,它们都具有编译器,链接器设置和搜索目录选项。

errors(s)

The procedure entry point _gxx-personality-v0 could not be located in the dynamic link library sfml-graphics-2.dll, sfml-window-2.dll, sfml-system-2.dll, sfml-audio-2.dll

(即使我将它们放在项目.exe旁边的项目bin文件夹中)

详细信息

inst dir    C:\Program Files (x86)\CodeBlocks    
CodeBlocks  17.12.0.1 
SFML        SFML-2.5.0-windows-gcc-7.3.0-mingw-32-bit
Build       Debug
C++14       (Have g++ follow the C++14 ISO C++ language standard)  
//
Linker Libaries   (SFML add dependencies must be in this order)
                               sfml-graphics        
                               sfml-window
                               sfml-system
                               sfml-audio
Compiler                C:\Program Files (x86)\CodeBlocks\SFML-2.5.0\include
Linker                  C:\Program Files (x86)\CodeBlocks\SFML-2.5.0\lib
Tool Chain Executables  C:\Program Files (x86)\CodeBlocks\MinGW
//

C:\Program Files (x86)\CodeBlocks\MinGW\bin                                (copied ddls to project bin folder)

C:\Program Files (x86)\CodeBlocks\SFML-2.5.0\bin                            (copied ddls to project bin folder)

看起来像项目已编译,但无法执行。

1 个答案:

答案 0 :(得分:0)

尝试在设置->编译器->链接器设置(标签)->其他链接器选项下输入编译器标志-lstdc++。这会将GNU C++ Library链接到您的项目源,并将_gxx-personality-v0纳入范围。

请注意此错误:

The procedure entry point _gxx-personality-v0 could not be located in the dynamic link library sfml-graphics-2.dll, sfml-window-2.dll, sfml-system-2.dll, sfml-audio-2.dll

表示它无法在您链接的任何DLL中找到函数定义-即您的DLL链接工作正常,而这只是无范围函数定义的一种情况。

其他参考:

  1. Link error "undefined reference to `__gxx_personality_v0'" and g++

  2. How to add compiler flags on codeblocks