【发布时间】:2020-01-29 22:11:41
【问题描述】:
我正在使用 Netbeans(在 Windows 上)开发 c++。我正在尝试让 SMFL 工作。
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
using namespace std;
/*
*
*/
int main(int argc, char** argv)
{
RenderWindow window(VideoMode(600, 800), "TITLE");
cout << "Hello World!";
return 0;
}
当我启动应用程序时,我收到以下错误。
main.cpp:31: undefined reference to `__imp__ZN2sf6StringC1EPKcRKSt6locale'
main.cpp:31: undefined reference to `__imp__ZN2sf9VideoModeC1Ejjj'
main.cpp:31: undefined reference to `__imp__ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'
main.cpp:31: undefined reference to `__imp__ZN2sf12RenderWindowD1Ev'
main.cpp:31: undefined reference to `__imp__ZN2sf12RenderWindowD1Ev'
第 31 行是
RenderWindow window(VideoMode(600, 800), "TITLE");
我在 c++ 编译器中添加了 SFML/include 目录,在链接器中添加了 SFML/lib,你能帮帮我吗?
编辑:重试添加 lib 并包含文件夹后,现在我得到: “加载共享库时出错:?:无法打开共享对象文件:没有这样的文件或目录”
【问题讨论】:
-
我将 [...] SFML/lib 添加到链接器 究竟如何?因为链接器似乎没有链接所有必要的库。你忘了OpenGL吗?对于 sfml,一些平台需要额外且明确的。发生在我身上一次。
-
您使用的
SFML是用mingw构建的吗?我认为您不能使用 Visual Studio 二进制文件。 -
@drescherjm 也许。我应该使用哪一个?
-
@nada 项目设置 -> 链接器 -> 附加库目录并选择 SFML/lib 文件夹。我对 OpenGL 什么都没做,我该怎么办?
-
@drescherjm 对,编辑后指向代码块/mingw 教程。