编译/安装程序时-l(blah)标志的两个基本问题

时间:2010-11-13 04:10:18

标签: linker

我是Ubuntu的新手,我有以下问题。

  1. 编译C或任何其他程序时,通常会编写一个命令,例如 gcc hello.c -lm 我被告知 -lm 选项用于在编译期间显式链接数学库 相。我想知道图书馆的所在地' foo'如果与--lfoo链接,则应该找到它。

  2. 这是我在尝试安装名为SUPERLU的软件包时遇到的错误,而这个软件包又取决于是否存在名为PARMETIS的软件包。 (运行 make 之后结束的东西)

    / usr / bin / ld:找不到 -lparmetis collect2:ld返回1退出状态 make [1]: * [pddrive]错误1 make [1]:离开目录`/home/gaurish108/Desktop/ResearchMeetings/SUPERPETS/SuperLU_DIST_2.4/EXAMPLE' make:* [示例]错误2

  3. 我该怎么办?我发现我的/usr/bin/中没有ld文件夹。我应该以某种方式修改make.inc文件吗?

1 个答案:

答案 0 :(得分:0)

看看这里:http://www.network-theory.co.uk/docs/gccintro/gccintro_21.html-lm说“在搜索路径中搜索libm.a”。 libm.a位于/usr/lib/libm.a。