各种计算软件在编译的时候,不时会出现ld的报错,提示没有找到-lxxxx的 \\ 例如以下错误\\ /usr/bin/ld: cannot find -lckmain /usr/bin/ld: cannot find -lck /usr/bin/ld: cannot find -lmemory-default /usr/bin/ld: cannot find -lthreads-default /usr/bin/ld: cannot find -lconv-machine /usr/bin/ld: cannot find -lconv-core /usr/bin/ld: cannot find -ltmgr /usr/bin/ld: cannot find -lconv-util /usr/bin/ld: cannot find -lconv-partition collect2: error: ld returned 1 exit status 可以看出是好些链接库没有找到 此时,通用的解决方案的话,就是\\ ld -lckmain --verbose 检查输出,发现如下报错\\ ==================================================\\ attempt to open //usr/local/lib/x86_64-linux-gnu/libckmain.so failed attempt to open //usr/local/lib/x86_64-linux-gnu/libckmain.a failed attempt to open //lib/x86_64-linux-gnu/libckmain.so failed attempt to open //lib/x86_64-linux-gnu/libckmain.a failed attempt to open //usr/lib/x86_64-linux-gnu/libckmain.so failed attempt to open //usr/lib/x86_64-linux-gnu/libckmain.a failed attempt to open //usr/lib/x86_64-linux-gnu64/libckmain.so failed attempt to open //usr/lib/x86_64-linux-gnu64/libckmain.a failed attempt to open //usr/local/lib64/libckmain.so failed attempt to open //usr/local/lib64/libckmain.a failed attempt to open //lib64/libckmain.so failed attempt to open //lib64/libckmain.a failed attempt to open //usr/lib64/libckmain.so failed attempt to open //usr/lib64/libckmain.a failed attempt to open //usr/local/lib/libckmain.so failed attempt to open //usr/local/lib/libckmain.a failed attempt to open //lib/libckmain.so failed attempt to open //lib/libckmain.a failed attempt to open //usr/lib/libckmain.so failed attempt to open //usr/lib/libckmain.a failed attempt to open //usr/x86_64-linux-gnu/lib64/libckmain.so failed attempt to open //usr/x86_64-linux-gnu/lib64/libckmain.a failed attempt to open //usr/x86_64-linux-gnu/lib/libckmain.so failed attempt to open //usr/x86_64-linux-gnu/lib/libckmain.a failed ld: cannot find -lckmain 看出来,原因其实就是系统搜索路径里面找不到.so或者.a的文件\\ 解决方案的话,其实就是指定链接位置,就可以了。\\ 比如在编译的时候加 -L 参数,指定一下链接文件的位置;比如使用c编译器的时候,额外设定一下CFLAGS\\ export CFLAGS="-L/home/yingjin/Softwares/charm-6.9.0/lib“ CMake的话,使用以下\\ CMAKE_CXX_FLAGS -std=c++11 -L/home/yingjin/Softwares/charm-6.9.0/lib 就可以了\\ (注意ccmake可能需要t显示详细菜单后,才能见此选项)\\