/usr/bin/ld: 找不到

新手上路,请多包涵

我创建了一个 .so 文件并将其放在位置 /opt/lib 并将此路径添加到 LD_LIBRARY_PATH 现在之后,当我尝试编译我的主程序时命令:

 g++ -Wall -I/home/alwin/Development/Calculator/ main.cpp -lcalc -o calculator

我收到以下错误:

 /usr/bin/ld: cannot find -lcalc
collect2: ld returned 1 exit status

有人可以帮我弄这个吗。我使用代码块 IDE 创建了共享库

原文由 Alwin Doss 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 601
2 个回答

-L/opt/lib 添加到您的编译器参数中,这会使编译器和链接器在该文件夹中搜索 libcalc.so 的路径。

原文由 Dr. Snoopy 发布,翻译遵循 CC BY-SA 3.0 许可协议

当你打电话给 gcc 它应该说

g++ -Wall -I/home/alwin/Development/Calculator/ -L/opt/lib main.cpp -lcalc -o calculator

not -libcalc.so

我对自动生成的品牌有类似的问题。

您可以创建从编译目录到库目录的软链接。然后图书馆变成“本地的”。

 cd /compile/directory

ln -s  /path/to/libcalc.so libcalc.so

原文由 otter 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题