You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译insilico/plink时提示无法找到-lplink错误的解决求助

编译insilico/plink时出现-lplink找不到的错误

问题背景

操作步骤:

  • 克隆insilico/plink仓库并进入对应目录
  • 运行./bootstrap.sh
  • 执行./configure && make && sudo make install

终端返回错误信息:

/bin/bash ./libtool  --tag=CXX   --mode=link g++ -DUNIX -DWITH_R_PLUGINS -DSKIP -DWITH_LAPACK -fopenmp     -O3   -o plink plink.o -lplink -lgomp -llapack -lz  -ldl -lcrypt 
libtool: link: g++ -DUNIX -DWITH_R_PLUGINS -DSKIP -DWITH_LAPACK -fopenmp -O3 -o plink plink.o  -lplink -lgomp -llapack -lz -ldl -lcrypt -fopenmp
/usr/bin/ld: cannot find -lplink: No such file or directory
collect2: error: ld returned 1 exit status

Makefile相关代码片段:

# dir to install headers for plink library 
libplink_ladir = $(includedir)/plink
 plink_SOURCES = plink.cpp 
plink_LDADD = -lplink

错误原因

链接器ld无法找到libplink库,核心原因有两点:

  1. 编译顺序错误:主程序plink的编译链接优先级高于libplink库,导致链接时libplink还未生成
  2. 链接器搜索路径缺失:即使libplink已生成,链接器也没被指引到存放该库的目录(比如当前目录或.libs子目录)

解决方法

方法1:调整编译顺序

打开生成的Makefile,找到all目标的定义,将libplink.la(或libplink.a/libplink.so)添加到plink之前,确保库先编译完成:

all: libplink.la plink

保存后重新执行make

方法2:指定库的搜索路径

修改Makefile中的plink_LDADD,添加库所在目录的路径(通常是当前目录或.libs子目录):

plink_LDADD = -L. -lplink
# 若库在.libs目录下,改为:plink_LDADD = -L.libs -lplink

保存后重新执行make

方法3:重新配置并编译

先清理之前的编译产物:

make clean && rm -rf .libs

重新运行configure时显式指定库搜索路径:

./configure LDFLAGS="-L." && make && sudo make install

内容的提问来源于stack exchange,提问作者lamdeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 19:57:24