我正在尝试用GLFW学习OpenGL,但我遇到了一些问题.
这是我的main.cpp:
#include <GL/glfw.h>
int main()
{
glfwInit();
glfwSleep( 1.0 );
glfwTerminate();
}
Run Code Online (Sandbox Code Playgroud)
这是我项目的文件夹结构:
Project
+- glfw.dll
+- main.cpp
Run Code Online (Sandbox Code Playgroud)
这是我解压缩GLFW文件的地方:
MinGW
+- include
| +- GL
| +- glfw.h
+- lib
+- libglfw.a
+- libglfwdll.a
Run Code Online (Sandbox Code Playgroud)
这就是我尝试构建程序的方法:
g++ main.cpp -o main.exe -lglfwdll
Run Code Online (Sandbox Code Playgroud)
这些是我得到的错误:
C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0xf): undefined reference to `_glfwInit'
C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0x25): undefined reference to `_glfwSleep'
C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0x2a): undefined reference to `_glfwTerminate'
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
是否可以在不使用crontab命令的情况下添加cronjob?(或直接编辑文件以外的其他方法。)是否有需要编辑的文件?
我创建了一个Button类,应该绘制一些顶点和一个字符串RenderWindow.这里的代码与不相关的部分被删除:( 这是完整的代码)
namespace game {
class Button
{
public:
Button(int _x, int _y, int _width, int _height, std::string text)
{
...
sf::Font font;
font.loadFromFile("res/SF Intermosaic B.ttf");
label.setFont(font);
label.setString(text);
label.setCharacterSize(16);
label.setColor(sf::Color(20, 20, 20));
...
}
...
void draw(sf::RenderWindow& window) const
{
sf::RenderStates states;
states.texture = &texture;
window.draw(vertices[state], states);
window.draw(label); // If this line is commented out, there's no error.
}
private:
...
sf::Text label;
...
};
}
Run Code Online (Sandbox Code Playgroud)
但是当我绘制文本时,程序编译得很好,但是当我运行它时,它会立即崩溃.
这是gdb的回溯:
#0 0x00007ffff7bad604 in sf::Font::getTexture(unsigned int) const () …Run Code Online (Sandbox Code Playgroud) 我想创建一个类似于AuthMe的插件,阻止所有操作 - 放置/打破块,改变库存,聊天 - 当玩家刚加入直到他用命令登录时.
我不想使用AuthMe的原因是因为我希望它与我的网站进行通信,例如使用与网站上的帐户相同的密码.