将共享库链接到c++;集群项目 我写了使用TBB库的C++项目。要将此库链接到我的项目,我在项目设置中设置了库文件的路径:
包含目录:usr/tbb/Include 库:usr/lib/libtbb.so、usr/lib/libtbbmalloc.so、usr/lib/libtbbmalloc_proxy.so 它在我的PC上工作,但当我尝试在集群上运行它(通过qsub)时,我得到了一个错误,即找不到库路径。所以我的问题是:在集群上执行程序时,如何指定共享库的路径? 我看到了讨论,并试图以这种方式进行将共享库链接到c++;集群项目 我写了使用TBB库的C++项目。要将此库链接到我的项目,我在项目设置中设置了库文件的路径:,c++,static-libraries,cluster-computing,static-linking,tbb,C++,Static Libraries,Cluster Computing,Static Linking,Tbb,包含目录:usr/tbb/Include 库:usr/lib/libtbb.so、usr/lib/libtbbmalloc.so、usr/lib/libtbbmalloc_proxy.so 它在我的PC上工作,但当我尝试在集群上运行它(通过qsub)时,我得到了一个错误,即找不到库路径。所以我的问题是:在集群上执行程序时,如何指定共享库的路径? 我看到了讨论,并试图以这种方式进行 -L/home/dinar/tbb/lib/ia32 -Wl,-rpath,/home/dinar/tbb/lib/
-L/home/dinar/tbb/lib/ia32 -Wl,-rpath,/home/dinar/tbb/lib/ia32 -ltbb ./program
但它不起作用。您可能要设置的环境变量为 像
-L
、-Wl
和-L
标志是链接器标志,即链接程序时使用的标志。感谢您的回复,Joachim。我所做的是:我将tbb包保存在集群上的用户目录中,并尝试将库链接到我的程序。但这对我不起作用。可能我的可执行应用程序仍然保留旧库的路径(我电脑上的路径)我指定它来生成项目。我也尝试了此操作,但得到错误:./program:加载共享库时出错:libtbb.so.2:无法打开共享对象文件:没有此类文件或directory@DinarAbdullin在/home/dinar/tbb/lib/ia32
中有一个文件名为libtbb.so.2
?当然,您没有任何具有类似名称的文件(在.so.2
之后可能更多,仅在.so
扩展名之后)?如果是最后一个,则在/home/dinar/tbb/lib/ia32中创建一个从libtbb.so.x
(或libtbb.so
)到libtbb.so.2
.Joachim的符号链接,我有libtbb.so和libtbb.so.2文件
$ LD_LIBRARY_PATH=/home/dinar/tbb/lib/ia32 ./program