这是在Linux系统上发生的。 Anaconda附带了几个C库,如libz
或libgomp
。我在/usr/lib
的系统上全局安装了大多数这些库。现在,只要链接器或CMake find_package查找这些库,我最终可能会出现冲突的版本:
Readline_INCLUDE_DIR:PATH=/home/mattmilten/anaconda3/include
Readline_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libreadline.so
这通常会破坏我的构建。
如何让我的系统库优先于anaconda?顺便说一句,我的LD_LIBRARY_PATH
是空的。
答案 0 :(得分:0)
您是否已将环境变量(如C_INCLUDE_PATH)设置为anaconda include dir?这会将该路径添加到标题搜索路径,但不会添加库搜索路径(即LIBRARY_PATH)。如果是这样,您可以在使用cmake之前取消设置C_INCLUDE_PATH。或者,如果您想要链接到全局库路径中没有的一些anaconda库,则可以将全局库路径添加到C_INCLUDE_PATH。
答案 1 :(得分:0)
我通常重命名我的acondada directoy并从build目录重新运行ccmake ..我检查ccmake中的所有条目(不是cmake)然后配置。 然后重新激活python我改回名称以匹配我的路径导出。