【发布时间】:2019-03-04 13:05:46
【问题描述】:
我是 CMake 和 Geant4 的新手。我正在尝试使用它们构建一个项目。
另外,我正在远程集群中工作。当我cmake 时,没有错误。但是当我做make 时,我得到的错误是,
make[2]: *** No rule to make target '/usr/lib64/libXmu.so', needed by 'PRO_simulation'. Stop.
make[1]: *** [CMakeFiles/PRO_simulation.dir/all] Error 2
make: *** [all] Error 2
然而,
ls -rt /usr/lib64/libXmu*
给予:
lrwxrwxrwx. 1 root root 15 Jan 11 2016 /usr/lib64/libXmu.so.6 -> libXmu.so.6.2.0
-rwxr-xr-x. 1 root root 109552 Nov 20 2015 /usr/lib64/libXmu.so.6.2.0
lrwxrwxrwx. 1 root root 16 Jan 11 2016 /usr/lib64/libXmuu.so.1 -> libXmuu.so.1.0.0
-rwxr-xr-x. 1 root root 19440 Nov 20 2015 /usr/lib64/libXmuu.so.1.0.0
由于它是一个远程集群,我不能做一个名为“libXmu.so”的链接(在请求集群权限后,仍然没有用),但我可以链接到我的本地目录。
现在我的问题是我应该在 cmake 中做什么,它会在我的本地目录中查找 libXmu.so 而不是 /usr/lib64/libXmu.so
【问题讨论】:
-
如果你这样做会有帮助吗
LD_LIBRARY_PATH=/home/local:$LD_LIBRARY_PATHcmake ..` -
不,这没有帮助。抱歉,我现在编辑了问题。当我做
cmake时,没有问题。之后我执行make时会发生错误。有一个名为build.make的文件有一行/usr/lib64/linXmu.so。这就是为什么make正在查看该特定路径的原因。