链接器找不到数学库

Linker can't find mathgl library

本文关键字:找不到 链接      更新时间:2023-10-16

我尝试使 mathgl起作用,但是链接器找不到库。我通过Arch Linux通过用户存储库安装了它。我刚刚复制了示例程序:

#include <mgl2/mgl.h>
int main()
{
  mglGraph gr;
  gr.FPlot("sin(pi*x)");
  gr.WriteFrame("test.png");
}

官方网站指出您需要链接lmgl,但我会收到此错误:

$ g++ main.cpp -lmgl
/usr/bin/ld: cannot find -lmgl
collect2: error: ld returned 1 exit status

我无法弄清楚从哪里开始寻找图书馆。我怎么能看到安装在哪里?

我正在寻找libmgl,而ldconfig -p获得了这些结果:

$ ldconfig -p | grep libmgl    
    libmgl2.so.7.5.0 (libc6,x86-64) => /usr/lib/libmgl2.so.7.5.0
    libmgl2.so (libc6,x86-64) => /usr/lib/libmgl2.so
    libmgl2-qt5.so.7.5.0 (libc6,x86-64) => /usr/lib/libmgl2-qt5.so.7.5.0
    libmgl2-qt5.so (libc6,x86-64) => /usr/lib/libmgl2-qt5.so
    libmgl2-qt.so.7.5.0 (libc6,x86-64) => /usr/lib/libmgl2-qt.so.7.5.0
    libmgl2-qt.so (libc6,x86-64) => /usr/lib/libmgl2-qt.so
    libmgl2-glut.so.7.5.0 (libc6,x86-64) => /usr/lib/libmgl2-glut.so.7.5.0
    libmgl2-glut.so (libc6,x86-64) => /usr/lib/libmgl2-glut.so

正如Amadeus所示,使用

$ g++ main.cpp -lmgl2

应该工作。