c++ - 如何解决我在 Ubuntu 19.04 下使用 GLFW 时遇到的编译问题?
问题描述
所以我试图编译一个基本的应用程序,当我尝试编译它时,它会抛出一个错误:
$ g++ -g -Iinclude -ldl -lX11 -lstdc++ src/*.cpp src/*.c `pkg-config --cflags --libs glfw3 glib-2.0`
/usr/bin/ld: warning: librt.so.1, needed by /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libglfw.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /tmp/ccJamhTZ.o: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libdl.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
主.cpp:
#include <glad/glad.h>
#include <GLFW/glfw3.h>
int main(int argc, char** argv) {
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
return 0;
}
是什么原因造成的,我该如何解决?
解决方案
你确定你已经下载了glfw
和glad
开发者包Ubuntu
吗?我在Fedora
,不能真的说我对你的片段有问题。在这里:https ://ubuntu.pkgs.org/18.04/ubuntu-universe-amd64/libglfw3-dev_3.2.1-1_amd64.deb.html显然是 Ubuntu 的dev
软件包,但我建议看看如何dev
为您的发行版安装软件包和各自的版本。[编辑] 我已经编译了你的代码片段:g++ -o test main.cpp -I/usr/include/GLFW -lglfw
但删除了,#include<glad/glad.h>
因为我没有那个库。
推荐阅读
- swiftui - 如何将@State 值分配给另一个 viewModel 发布的属性
- javascript - 使用 jQuery Map 返回 CheckBox True False 状态
- c++ - 这里的 T(&arr)[N] 中的 arr 是什么类型
- python-3.x - 使用通配符形式列表删除字符串
- reactjs - 'Form' 已定义但从未使用 no-unused-vars
- azure - 在 Azure 中安排容器实例的运行和重新启动
- laravel - Composer 在您的平台中检测到问题:您的 Composer 依赖项需要 PHP 版本 ">= 8.0.0"
- r - 具有可变数量 ifelse 中断的 R 函数
- python - 使用递归解释的二叉树遍历(python)
- python - BytesIO() 对象是完全加载到内存中还是流式传输?