
编译器:GCC编译器可以用来编译C和C++源程序,C编译器通过文件的后缀来判断是C程序还是C++程序。一般来说C源文件的后缀为“.C”,而C++源文件的后缀为“.C”或“C++”。
但GCC编译器只能编译C++源程序,不能与使用的库连接,因此用G++来完成C++程序的编译与连接,该程序会自动调用GCC来编译。
Linux里环境变量的设置,有如下几种方法:(1)直接在终端里输入export 后面加要设的变量,例如QT:
Export QTDIR=$PWD/qt-2.3.2
其中,pwd是用来显当前路径的命令,在其前面加上$,则表示QT的目标目录在当前目录下的“qt-2.3.2”里,当然“$PWD”也可以用绝对路径来代替。这种方法所设的环境变量在下次开机后不再有效,而且换个shell也不会有效,只是临时的。
(2)在etc/profile里添加环境变量,比如:
export QTDIR=/usr
export LD_LIBRARY_PATH=$QTDIR/lib
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
export QWS_DISPLAY="LinuxFb:/dev/fb0"
(3)修改.bashrc, 如果需要给某个用户权限使用这些环境变量,只需修改其个人用户家目录下的.bashrc文件就可以了。
(4)用以上面两种方法设置好环境变量后记得重启
以上使用QT为例
我在Ubuntu16.04和Anaconda4.3.17(Python2.7)上遇到了这个问题。这个问题源于安装了Qt 5.6版本的anaconda,而我的系统Qt库是5.5版本。一个快速的技巧是通过设置LD_LIBRARY路径来确保Anaconda库位于系统库之前:export LD_LIBRARY_PATH=$HOME/anaconda2/lib:$LD_LIBRARY_PATH
不幸的是,这将破坏使用Qt5.5的其他程序,因此您只能在100%Python的情况下使用它,例如,如果您使用--pylab启动ipython会话。
我通过查看libxqcb.so的链接方式发现了这个问题:
ldd $HOME/anaconda2/plugins/platforms/libqxcb.so
报告了以下错误:./libqxcb.so: /usr/lib/x86_64-linux-
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)