用MinGW编译C ++时如何解决“对'_imp ___ ***的未定义引用”

时间:2019-06-21 17:44:11

标签: c++ compiler-errors g++ mingw sfml

用MinGW(g ++)编译C ++代码时遇到麻烦。我认为问题在于库未正确链接,但我找不到解决方法。

我已经尝试使用其他版本的MinGW,更改库顺序,包括它们的路径等等,但是这些都不起作用...

我在main.cpp上有#includes

#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <time.h>
#include <string>
#include <string.h>
#include <chrono>
#include <thread>
#include <math.h>

我只有用于C ++的main.cpp文件,资源位于项目根目录下的文件夹中(与main.cpp一样)。

我正在尝试使用以下命令进行编译: g++ -LC:\SFML\lib -o "build\main.exe" build\main.o -lsfml-graphics -lsfml-audio -lsfml-network -lsfml-window -lsfml-system -mwindows

我希望已编译main.cpp,但是我得到以下输出:ld returned 1 exit status和大量的undefined reference to '_imp___ZN2sf5ShapeD2Ev'(或另一个随机名称)。

编辑:我只是使用示例代码以及Code::Blocks MinGW和SFML版本,设法将其编译为 cpp exe ,但是我无法运行该程序,因为我得到了错误(每次都是不同的错误)。仍然是dll /库错误。使用我的原始代码,我仍然会遇到相同的错误。

注意:为清楚起见,该问题不是What is an undefined reference/unresolved external symbol error and how do I fix it?的重复。这个问题询问的是对外部符号的未定义引用,而我询问的是特定的SFML库错误。


更新:我只是通过遵循this answer来解决了这个问题。

0 个答案:

没有答案