C++ SFML 2.1 未定义对 GLEW 的引用
C++ SFML 2.1 undefined reference to GLEW
我正在尝试编译这个:
#include < SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
叮当++-C主.cpp工作!!
clang++ main.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-system
给我休眠错误:
/usr/bin/ld: warning: libGLEW.so.1.5, needed by /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libjpeg.so.62, needed by /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so, not found (try using -rpath or -rpath-link)
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_finish_compress@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_write_scanlines@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewUniform1fARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_std_error@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__GLEW_ARB_shader_objects'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewGetObjectParameterivARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__GLEW_ARB_vertex_shader'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewFramebufferTexture2DEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewUniformMatrix4fvARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_set_quality@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewGenFramebuffersEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewUniform3fARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_set_defaults@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewRenderbufferStorageEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_CreateCompress@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__GLEW_ARB_fragment_shader'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewActiveTextureARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_start_compress@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewShaderSourceARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `glewInit'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewBindFramebufferEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewFramebufferRenderbufferEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewLinkProgramARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewUseProgramObjectARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewBlendFuncSeparateEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewGenRenderbuffersEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewUniform2fARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_destroy_compress@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewUniform4fARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewCreateProgramObjectARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `glewGetErrorString'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewCompileShaderARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewDeleteRenderbuffersEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewDeleteObjectARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewGetUniformLocationARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewGetInfoLogARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__GLEW_EXT_blend_func_separate'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewDeleteFramebuffersEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewCheckFramebufferStatusEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewUniform1iARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__GLEW_ARB_texture_non_power_of_two'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `jpeg_stdio_dest@LIBJPEG_6.2'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__GLEW_ARB_shading_language_100'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewCreateShaderObjectARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewBindRenderbufferEXT'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__GLEW_EXT_framebuffer_object'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewAttachObjectARB'
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../libsfml-graphics.so: undefined reference to `__glewGetHandleARB'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
正如前两行中的错误消息告诉您的那样,显然缺少libGLEW
和libjpeg
。您需要安装每个开发包(或自行下载、编译和安装)。
其他错误只是缺少的函数,这些函数应存在于任一依赖项库中。
相关文章:
- 将对象数组的引用传递给函数
- 什么时候在C++中返回常量引用是个好主意
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 何时在引用或唯一指针上使用移动语义
- 如何在c++中使用引用实现类似python的行为
- 编译C++时未定义的引用
- Ctypes wstring通过引用传递
- c++r值引用应用于函数指针
- 理解c++中的引用
- C++取消引用指针.为什么会发生变化
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 强制转换为引用类型
- 使用 glew 和 mingw 时未定义的引用?
- Qt项目中对glew方法的未定义引用
- 使用 SDL 和 glew 时 Qt Creator 中未定义的引用错误
- C++ SFML 2.1 未定义对 GLEW 的引用
- 对'fprintf'的未定义引用 - glewinfo.c (使用 MSYS/Mingw 构建 glew makefile)
- 对glGenerateMipmap的未定义引用(使用GLEW)