2011-11-30 34 views
0

我想要运行从我的makefile里面的一个程序,它与我自己创建的一些共享库链接。但我不希望它们被永久添加到我的系统的图书馆池中。在makefile文件中设置共享库的路径以供执行

我该如何做到这一点?

我已经想通,我无论如何都必须使用/设置LD_LIBRARY_PATH,但似乎怎样,因为这并没有为我工作:

run: 
    export LD_LIBRARY_PATH=$(TESTLIB):$(DEPENDENCIES) 
    ./testit 

还试图运行一个额外的出口任务没有全成:

export: 
    ldconfig -n $(DEPENDENCIES) 
    ldconfig -n $(TESTLIB) 

回答

1

配方中的每一行都在自己的shell中运行,所以将其更改为:

run: 
    export LD_LIBRARY_PATH=$(TESTLIB):$(DEPENDENCIES); \ 
    ./testit 

run: 
    LD_LIBRARY_PATH=$(TESTLIB):$(DEPENDENCIES) ./testit 
+0

快速和完善,也感谢你告诉我这自己的壳部分出来,你还挺开导我,因为我不明白发生了什么事情 – Sim

+0

是啊,我想这是几乎每个人都不可避免的事使用'make'在某个时间或另一个时间绊倒,然后再也不会忘记了。 – eriktous

相关问题