【发布时间】:2019-04-01 08:52:18
【问题描述】:
我已经使用标准的 sudo apt get 等在 Ubuntu 上安装了 libglfw3-dev:amd64 包。我的以下编译行是:
g++ -o output -IL/usr/lib/x86_64-linux-gnu -lglfw driver.o
我当前的 c++ 文件是:
#include <GLFW/glfw3.h>
int main(void)
{
GLFWwindow* window;
if (!glfwInit())
return -1;
}
我尝试使用本地 glfw 库并设置 -I 和 -L 位置,但似乎没有任何效果。我已确保 .so 和 .h 文件位于各自的位置,但运行 make 时总是出现此错误:
g++ -o output -I/usr/include/GLFW -L/usr/lib/x86_64-linux-gnu -lglfw
driver.o
driver.o: In function `main':
driver.cpp:(.text+0x5): undefined reference to `glfwInit'
collect2: error: ld returned 1 exit status
Makefile:2: recipe for target 'output' failed
make: *** [output] Error 1
我已经尝试查看所有其他 SO 帖子,他们建议使用大量额外标志进行编译,但我唯一能够从中得出的结论是我的库有问题,因为 VScode 检测到 . h 文件。我怎样才能编译它而不会出现任何错误?
【问题讨论】:
标签: c++ makefile compiler-errors g++ glfw