听起来很奇怪,但是我确实想要两个g ++可执行文件。普通的/ usr / bin / g ++中的一种,目前运行良好。在/ sandbox / g ++下的另一个受apparmor保护。但是,当我将g ++(不是symlink,原始可执行文件g ++-4.6)复制到/ sandbox / g ++时,它无法执行并出现以下错误:
g++-4.6: error trying to exec 'cc1plus': execvp: No such file or directory
我如何设置它使用与普通g ++相同的路径/库?我在网上搜索了上述错误的常见答案是重新安装g ++,但我的g ++运行良好,我只想同时运行该程序。
感谢您的任何建议!
编辑 :
在bashrc中添加了一些PATH规则后,找到了cc1plus,但是所有包含文件的路径都被弄乱了。我想我会遵循在本地构建源文件的建议,并了解如何配置它。
试试这个:
cd ~
cp /usr/bin/g++ gx
touch x.cpp
strace ./gx -o x x.cpp 2>xlog
它失败并显示相同的错误消息,并且在xlog中可以看到g ++期望在相对目录中找到cc1plus ../lib/etc
。这与保镖无关。
现在,如果您希望自己从源代码构建cc1plus,可能有一些配置设置可用于使g ++在其他地方显示,但是我预言该选项必须从正常的已安装目录运行g ++。g ++将从其自身的副本在其正常目录中运行,该目录当然已重命名。我认为您可以让副本受制于附庸,如果这能养成您的小鸡。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句