如何从源码将C++项目BASS编译安装到conda环境中
问题解答
- 关于是否使用make:可以直接用make完成编译,conda-build是用于制作conda安装包的工具,仅当你需要把编译好的BASS打包成conda包分发时才需要用到,仅个人本地使用直接用项目自带的Makefile走make编译即可。
- 关于是否需要安装编译器:需要在conda环境内安装编译套件,建议安装conda官方提供的
cxx-compiler和c-compiler包,避免使用系统自带编译器和conda环境依赖产生兼容性问题,编译完成后不需要编译器也可以正常运行BASS。 - 关于Makefile中的路径是否正确:该路径不正确,这个路径是项目作者硬编码的本地GSL库存放路径,你通过conda安装的GSL头文件和库文件都存放在当前激活的conda环境根目录下,不需要自己单独存放在项目的Libs目录下。
具体修复步骤
- 先激活bass环境,安装缺失的依赖:
conda activate bass conda install cxx-compiler c-compiler gsl make
- 无需修改Makefile,直接在编译时传入conda环境的GSL路径参数即可完成编译:
cd code/ make CFLAGS="-I$CONDA_PREFIX/include -I./" LDFLAGS="-L$CONDA_PREFIX/lib -lgsl -lgslcblas -lm"
- 如果要让BASS命令在conda环境内全局可用,把编译生成的可执行文件复制到conda环境的bin目录下即可,后续删除conda环境时会同步删除该文件:
cp BASS $CONDA_PREFIX/bin/
内容的提问来源于stack exchange,提问作者thomaskeefe
相关产品推荐
相关产品推荐

