我正在尝试创建一个conda
程序包,其中包含必须与c
一起编译的-lz
代码。但是,在构建程序包时,即使我为它提供了任何可能的路径,ld
也找不到zlib
。
据我了解,conda
创建了几乎是空的环境,然后用必要的库和工具填充了该环境。它还安装了zlib
,因此zlib.h
中有$BUILD_PREFIX/include/
,而libz.so, libz.a
中有$BUILD_PREFIX/lib
。
编译本身看起来像
$BUILD_PREFIX/bin/x86_64-conda_cos6-linux-gnu-cc -fPIC -g -Wall -O2 -Wc++-compat main.o -o <name> -L. -l<name> -lm -lz -lpthread
x86_64-conda_cos6-linux-gnu-cc
是gcc version 7.3.0
,它调用这里定义为ld
的{{1}}。然后$BUILD_PREFIX/bin/x86_64-conda_cos6-linux-gnu-ld
出现错误ld
。
我尝试使用
cannot find -lz
以任何组合使用,但这不起作用。
还有其他方法可以显示export C_INCLUDE_PATH="$BUILD_PREFIX/include"
export LIBRARY_PATH="$BUILD_PREFIX/lib"
export LD_LIBRARY_PATH="$BUILD_PREFIX/lib"
export LD_PRELOAD="$BUILD_PREFIX/lib/libz.so"
到图书馆的路径吗?