我在具有gcc 4.1.1和g ++ 4.1.1的系统下编译了所有代码。它只给了我另一个系统,它有gcc 4.1.2和g ++ 4.1.2。当我使用-v选项运行时,它会显示
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/x86_64-redhat-linux" ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include" ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../x86_64-redhat-linux/include"
但是找到了这个
find /usr -name stddef.h /usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h
如何强制gcc为i386和4.1.1使用不同的搜索路径,而不是4.1.2和x86_64?
答案 0 :(得分:2)
这表明gcc的安装不完整。您可能需要安装(例如sudo yum install libstdc++-devel glibc-devel
)。假设使用redhat的标准软件包实际安装了gcc
,这将有效。您当然也可能需要其他一些库,具体取决于您实际开发的内容。
当然,正确的做法是向IT投诉,但我怀疑如果你今天想完成一些工作(如果你的IT与我曾经合作过的那样),你最好做的事情你自己,如果你可以做到这一点。 (哦,大部分时间,根据我的经验,他们不知道如何解决问题,所以给他们上面的信息!)。
答案 1 :(得分:1)
您可以使用-I
扩展搜索包含和-L
用于libs参数,后跟所需路径。请参阅documentation或this answer