在Makefile中-L${SOME_LIB}是什么意思?

在Makefile中-L${SOME_LIB}是什么意思?,makefile,shared-libraries,Makefile,Shared Libraries,这里我用下面的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${

这里我用下面的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非常粗糙(我见过更大更好的)。我不熟悉makefiles,但至少这一个是有效的。

-L选项告诉链接器向用于搜索库的列表添加路径。
${DP_LIB}
问题是如何在makefile中使用变量。大概
DP_LIB
是通往某处的路径

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

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

例如:

-L/usr/X11R6/lib -lX11
表示链接器将在/usr/X11R6/lib中查找libX11.so
(…和其他默认位置。)

请注意:
g++
有一本手册,您可以在其中查找内容。