找不到 new.h-在 Quantal 上获取 gcc-4.2?

找不到 new.h-在 Quantal 上获取 gcc-4.2?

我一直尝试在我的计算机上编译 Valve Source SDK (2007),但总是遇到同样的错误:

In file included from ../public/tier1/interface.h:50:0,
             from ../utils/serverplugin_sample/serverplugin_empty.cpp:13:
             ../public/tier0/platform.h:46:17: new.h: No such file or directory

我对 C++ 编码和编译还很陌生,但使用时apt-file search我尝试使用 Makefile 中对所需文件的每个建议(libstdc++.alibgcc_eh.a),但都不起作用。然后我在 Makefile 中发现一条注释,说建议使用 gcc 4.2.2 - 我认为旧代码不适用于新版本,但 gcc-4.2 在 12.10 中不可用。

所以我的问题是:
如果我的假设是正确的 - 我如何在 Quantal 上获得 gcc 4.2.2?
如果我的假设是错误的 - 这里还可能存在什么问题?

Makefile 的相关部分:

# compiler options (gcc 3.4.1 will work - 4.2.2 recommended)
CC=/usr/bin/gcc
CPLUS=/usr/bin/g++
CLINK=/usr/bin/gcc
CPP_LIB="/usr/lib/gcc/x86_64-w64-mingw32/4.6/libstdc++.a /usr/lib/gcc/x86_64-w64-mingw32/4.6/libgcc_eh.a"

# GCC 4.2.2 optimization flags, if you're using anything below, don't use these!
OPTFLAGS=-O1 -fomit-frame-pointer -ffast-math -fforce-addr -funroll-loops -fthread-jumps -fcrossjumping -foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm -fexpensive-optimizations -frerun-cse-after-loop -fcaller-saves -fpeephole2 -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove -fstrict-overflow -fdelete-null-pointer-checks -freorder-blocks -freorder-functions -falign-functions -falign-jumps -falign-loops -falign-labels -ftree-vrp -ftree-pre -finline-functions -funswitch-loops -fgcse-after-reload
#OPTFLAGS=

# put any compiler flags you want passed here
USER_CFLAGS=-m32

答案1

更新:我刚刚安装了 Hardy,并在那里安装了 gcc-4.2。现在没有出现错误,所以这就是问题所在。我现在遇到了其他问题,但我认为它们与编译器无关。

相关内容