用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来解决了这个问题。