首页 > 解决方案 > 如何将CLion内置终端的环境设置为与系统终端相同。比如/usr/lib目录内容

问题描述

我在 linux 下使用 CLion 集成环境时遇到问题。

当我使用系统终端执行脚本时,可以运行。编译测试.sh:

#!/bin/bash

if [ ${USER} == "mzflrx" ]
then
  LLVM_PATH="/home/mzflrx/Downloads/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04"
else
  LLVM_PATH="/home/devin812/文档/clang+llvm-7.0.0-x86_64-linux-gnu-ubuntu-16.04"
fi

# 生成待保护的字节码
${LLVM_PATH}/bin/clang -o3 -emit-llvm test.c -c -o test.bc

# 生成可执行文件(保护前)
${LLVM_PATH}/bin/clang test.bc -o test -lpthread

但是当我使用 CLion 的内置终端执行时,出现以下错误:

[mzflrx@mzflrx test]$ ls
compile_out_cpp.sh   compile_test.sh  out1     out.bc      test          test-37.cpp  test.c    test.i64
compile_out.sh       data.txt         out1.bc  out.i64     test-377.cpp  test-37.ll   testcase  test.ll
compile_test_cpp.sh  generate_cpp.sh  out1.ll  result.txt  test-37.bc    test.bc      test.cpp  test_time.py
[mzflrx@mzflrx test]$ ./compile_test.sh 
/home/mzflrx/Downloads/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
/home/mzflrx/Downloads/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
/home/mzflrx/Downloads/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/llvm-dis: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

我不知道为什么我找不到图书馆。

在 CLion 内置终端中,我进入 /usr/lib 目录执行 ls 命令。

[mzflrx@mzflrx test]$ cd /usr/lib
[mzflrx@mzflrx lib]$ ls
aarch64-linux-gnu    extensions      ld-linux-aarch64.so.1  locale      perl5      systemd   udev
arm-linux-gnueabihf  gcc             ld-linux-armhf.so.3    os-release  python3.8  tcl8.6    x86_64-linux-gnu
debug                i386-linux-gnu  ld-linux.so.2          perf        sdk        terminfo

在 linux 终端中,我进入 /usr/lib 目录执行 ls 命令。

$: cd /usr/lib                                                                                    
$: ls | head -n20                                                                                                                       
accounts-daemon
alsa-lib
ao
apparmor
appimagelauncher
appstreamcli-compose
asb-plugins-5
at-spi2-registryd
at-spi-bus-launcher
audit
avahi
awk
baloo_file
baloo_file_extractor
baloorunner
bash
bellagio
bfd-plugins
binfmt.d
bluetooth    

两次相同的命令在不同的控制台上得到完全不同的结果。

不知道为什么,是不是因为CLion内置控制台使用的是虚拟环境?

但是从文件->设置->工具->终端中删除active-virtualenv选项是没有用的

标签: terminalenvironment-variablesvirtualenvclion

解决方案


我知道为什么会有这样的原因。因为我是用flatpak安装的,所以有自己的虚拟环境。我用源码安装后就好了


推荐阅读