【问题标题】:ld cannot find libjasper libraryld 找不到 libjasper 库
【发布时间】:2023-03-27 22:49:02
【问题描述】:

我正在尝试在 Ubuntu 18.04 上将应用程序与 gc 链接。 ld 找不到 libjasper 库。我使用这些命令手动安装了它:

sudo apt update 

sudo apt install libjasper1 libjasper-dev

但出现此错误:

/usr/bin/ld: cannot find -llibjasper

我尝试了这个命令来添加库,但没有成功:

gcc -o cnn connected_layer.c connected_layer.h convolutional_layer.c convolutional_layer.h image.c image.h maxpool_layer.c maxpool_layer.h network.c network.h tests.c -Wall `pkg-config --cflags --libs opencv` -flto -ffast-math -L /usr/lib/x86_64-linux-gnu -l libjasper

【问题讨论】:

  • 库的名称是jasper。名称中未使用lib 前缀和任何可能的后缀。

标签: c linker-errors ld


【解决方案1】:

替换

 -l libjasper

通过

 -l jasper

lib 只是库文件的强制后缀,在为链接器指定名称时会被忽略。

【讨论】:

  • 我在终端中找到了两个使用“locate jasper”的库:
  • /usr/include/jasper /usr/lib/x86_64-linux-gnu/libjasper.a 我应该使用哪一个?
  • 如果一切安装良好,只需使用-l japser
  • @I.Bou “我应该使用哪个”。第一个是库的头文件所在的目录,供编译器使用。第二个是library,供链接器使用。你编译,然后链接。两者都使用。
猜你喜欢
  • 2014-12-13
  • 2012-08-19
  • 2014-12-27
  • 2015-11-14
  • 1970-01-01
  • 2021-10-24
  • 2012-05-17
  • 2017-03-31
  • 1970-01-01
相关资源
最近更新 更多