使用GLFW3编译OpenGL程序

3

我安装了GLFW3,并尝试使用以下命令编译我的OpenGL程序:

g++ -std=c++11 main.cpp -lGL -lGLEW -lglfw3 

但这是我得到的库错误:
/usr/bin/ld: cannot find -lglfw3
collect2: error: ld returned 1 exit status

我也尝试使用pkg-config:

g++ `pkg-config --cflags glfw3 glew` -o myprog main.cpp `pkg-config --static --libs glfw3 glew`

我的程序已经编译通过了,但是当我运行myprog时,它报错说找不到libglfw.so.3库文件。

而实际上,该库位于/usr/local/lib目录下。

2个回答

2

据我所知,Ubuntu 默认查找 /usr/local/lib 目录;我认为我从未不得不这样做。尽管它将其安装为 libglfw.so.3,而不是 libglfw3.so - Colonel Thirty Two

2

我遇到了同样的问题。以下是我采取的步骤:

  1. 下载glfw源代码
  2. 解压缩
  3. 进入glfw文件夹
  4. 运行cmake .(注意有个点)
  5. 运行make
  6. 运行sudo make install

为了检查,将以下命令复制并粘贴到控制台中:"whereis libglfw3"。你应该得到这样的输出:"libglfw3:/usr/local/lib/libglfw3.a"(或者是其他路径)。

我的配置:VAIO Pro 13 / Ubuntu 16.04 LTS / Intel HD4000。

P.S.:是的,我尝试过“sudo apt-get install libglfw3”和所有依赖项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接