2014-02-08 54 views
1

我想在远程计算机上编译C++项目。这个项目使用了一些C++ 11的特性,但默认的编译器是gcc 4.6.3,所以我在我的.profile中添加了一个条目,它添加了模块gcc 4.7.2来使用这个特性。使用远程shell我没有问题使用简单的make命令编译,但emacs M-x编译函数不起作用,因为它说gcc编译器不知道-std = C++ 11选项。 这意味着设置的远程shell不会添加模块,我不知道如何解决这个问题。使用emacs进行远程编译时的默认shell环境

所以我要求你的帮助! 谢谢

回答

2

这种东西,你应该放在你的makefile中,因为它依赖于项目。 事情是这样的:

CXX = g++ -std=c++0x 

,如果你不使用的automake比其他的东西相应调整。

+0

但是这并没有解决最初的问题。这个gcc版本(4.6.3)可能知道C++ 0x,但是如果我在其他版本中需要一些其他功能,我无法远程加载它们。 这些标志都是在makefile中用'-std = C++ 11'代替。 – user3287846

+0

好的,改为在makefile中重新定义CXX。它决定使用哪个gcc –

相关问题