我正在尝试创建一个conda
包,其中包含c
必须使用-lz
. 但是,在构建包时,即使我为它提供了任何可能的路径,ld
也找不到。zlib
据我了解,conda
创建几乎空的环境,然后用必要的库和工具填充它。它还安装zlib
,以便有zlib.h
in$BUILD_PREFIX/include/
和libz.so, libz.a
in $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
这里定义为$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"
在任何组合中,但这不起作用。
还有其他方法可以显示ld
图书馆的路径吗?