Linux环境变量临时和永久设置
PATH是用于查找各种命令,C_INCLUDE_PATH、CPLUS_INCLUDE_PATH是用于GCC头文件查找,LIBRARY_PATH编译时查找库文件,LD_LIBRARY_PATH运行时查找动态链接库(.so文件)
临时添加环境变量
用export, 加:
P
A
T
H
是
将
此
变
量
添
加
在
后
面
e
x
p
o
r
t
P
A
T
H
=
/
h
o
m
e
/
j
o
h
n
/
b
i
t
b
a
k
e
−
1.40
/
b
i
n
:
PATH是将此变量添加在后面 export PATH=/home/john/bitbake-1.40/bin:
PATH是将此变量添加在后面exportPATH=/home/john/bitbake−1.40/bin:PATH
export PYTHONPATH=/home/john/bitbake-1.40/lib:$PYTHONPATH
永久添加环境变量
可将环境变量加入用户根目录下~/.bashrc, ~/.profile 或所有用户下/etc/profile配置文件, 用下列命令即可
echo ‘PATH=/home/john/bitbake-1.40/bin:$PATH’>>~/.bashrc
echo ’ PYTHONPATH=/home/john/bitbake-1.40/lib:$PYTHONPATH '>>~/.bashrc
echo ‘source /home/john/Vitis/Vitis/2019.2/settings64.sh‘ >> ~/.bashrc
或者打开以上三个配置文件之一
vi ~/.bashrc
在文件后面添加想要添加或删除想要删除路径,例如
export PATH=路径1:路径2:路径4
最后,使新的环境变量生效或重新打开终端
source ~/.bashrc
source /etc/profile
错误:
In file included from /home/john/Vitis2020.2/Vitis_Libraries/vision/L2/examples/dilation/xf_dilation_tb.cpp:17:
/home/john/Vitis2020.2/Vitis_Libraries/vision/L1/include/common/xf_headers.hpp:23:10: fatal error: opencv2/opencv.hpp: No such file or directory
23 | #include “opencv2/opencv.hpp”
解决:
/usr/include/opencv2/opencv.hpp
/usr/include/boost/compute/interop/opencv.hpp
/usr/local/include/opencv2/opencv.hpp
john@john-virtual-machine:~/Vitis2020.2/Vitis_Libraries/vision/L2/tests/dilation/dilation_NO_3_CROSS$ g++ test.cpp pkg-config --cflags --libs opencv
-o test
john@john-virtual-machine:~/Vitis2020.2/Vitis_Libraries/vision/L2/tests/dilation/dilation_NO_3_CROSS$ echo ‘export PATH=/usr/local/include:$PATH’>>~/.bashrc
试图建立指向文件,因可能造成管理混乱,后放弃
sudo ln -s /usr/local/include /usr/include
前面为源,真实的东西,真实的目录,就像拷贝一样,在后面目录下建一个虚拟的目录include, 凡是后面的include均指向前面的include.
john@john-virtual-machine:~/Vitis2020.2/Vitis_Libraries/vision/L2/tests/dilation/dilation_NO_3_CROSS$ sudo rm /usr/include/include
GCC环境变量设置
#include <stdio.h> 和 #include “stidio.h” 区别是:
尖括号告诉编译器在一个或者多个标准系统目录中找到文件 /usr/include /usr/local/include;即系统头文件所在的目录。
看看这些文件夹下是否有该头文件;如果没有,也不会检索当前文件所在路径,并将报错。
使用双引号,编译器先到当前目录查找头文件或文件名中指定的其他目录,如果没找到,再到标准系统目录查找。
C_INCLUDE_PATH、CPLUS_INCLUDE_PATH是用于GCC头文件查找,LIBRARY_PATH编译时查找库文件,LD_LIBRARY_PATH运行时查找动态链接库(.so文件)
标准系统目录搜索,分别是 /usr/include /usr/local/include
-I 指定头文件的搜索路径,L库文件的搜索路径
Python import 目录
首先要注意使用的是python还是python3.
首先判断这个module是不是built-in即内建模块,如果是则引入内建模块,如果不是则在一个称为sys.path的list中寻找
sys.path在python脚本执行时动态生成,包括以下3个部分:
1、脚本执行的位置,即当前路径
2、环境变量中的PYTHONPATH, 即.bash_profilec.
3、安装python时的依赖位置
import sys
sys.path
观察下输出内容有无需的目录