如何将setenv LD_LIBRARY_PATH .
添加到我的Makefile
中?当我在Makefile中使用相同的术语,然后使用echo $LD_LIBRARY_PATH .
回显变量时,即使在另一个文件夹(不是绝对路径)中,我也总是收到.
作为结果,并且我收到此错误setenv LD_LIBRARY_PATH .
make: setenv: Command not found
ll:libmem.v1
libmem.v1:
gcc -g -c -fpic libmem.v1.c -Wall
gcc -shared -o libmem.so libmem.v1.o
gcc -lmem -L. -o main main.c -Wall
setenv LD_LIBRARY_PATH .
clean:
rm -f libmem.v1
rm -f *.py
我该如何解决?
最佳答案
您的问题尚不清楚,所以我将不得不猜测您的意思。setenv
命令是C shell的一部分,这不是Make的默认设置。您必须设置它:
SHELL = csh
然后,如果要使用该变量,则必须在设置该变量的同一命令中使用该变量,因为每个命令都在其自己的子 shell 中运行。另外,请记住转义“$”:
libmem.v1:
setenv LD_LIBRARY_PATH . ; echo $$LD_LIBRARY_PATH
如果要让
LD_LIBRARY_PATH
的值是绝对路径,而不仅仅是“。”,则必须将其设置为绝对路径:libmem.v1:
setenv LD_LIBRARY_PATH $(PWD) ; echo $$LD_LIBRARY_PATH