【问题标题】:What does -L ${SOME_LIB} means in a Makefile?-L ${SOME_LIB} 在 Makefile 中是什么意思?
【发布时间】:2016-02-14 19:22:32
【问题描述】:

这里我用下面的 Makefile 编译一个 C 代码。

MAIN:
    g++ -c -o td.o -I/home/user/dp/pro/include td.c
    g++ -c -o disk.o -I/home/user/dp/pro/include disk.c
    g++ -o disk disk.o tds2.o -L ${DP_LIB} -L ${LIPN_LIB} -lgnb -lgtd -lnbl -lpin
    ./disk.exe RUN.dat

-L ${DP_LIB} 这里的目的是什么?确切地说,我想知道${} 的功能。 如果是链接库,和-llib有什么区别?

这个makefile 到目前为止非常粗糙(我见过更大更好的)。我是 makefile 的新手,但至少这个可以工作。

【问题讨论】:

  • 请注意:g++ 有一本手册供您查阅。

标签: makefile shared-libraries


【解决方案1】:

-L 选项告诉链接器将路径添加到它用于搜索库的列表中。 ${DP_LIB} 是变量在 makefile 中的使用方式。大概DP_LIB 是通往某处的路径。

如果您只是阅读文档实际的 makefile,所有这些都应该非常清楚。

【讨论】:

    【解决方案2】:

    使用 -Ldir 指定链接器搜索库的目录。 lib 文件本身由 -llib 参数指定。

    例子:

    -L/usr/X11R6/lib -lX11
    

    表示链接器将在 /usr/X11R6/lib 中查找 libX11.so (...以及其他默认位置。)

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      相关资源
      最近更新 更多