当我从提取的源代码树中的neo文件夹运行scons命令时,我得到以下输出:
nroach44@ASUS-P5G43T-U1110:~/Source/doom3engine/neo$ scons
scons: Reading SConscript files ...
Loading build configuration from site.conf:
BUILD_GAMEPAK='0'
JOBS='1'
DEDICATED='0'
SILENT='0'
GL_HARDLINK='0'
ID_MCHECK='2'
BUILD_ROOT='build'
ALSA='1'
CC='gcc'
TARGET_D3XP='1'
TARGET_CORE='1'
BUILD='debug'
TARGET_GAME='1'
TARGET_MONO='0'
BASEFLAGS=''
CXX='g++'
NOCURL='0'
DEBUG_MEMORY='0'
IDNET_HOST=''
LIBC_MALLOC='1'
ID_NOLANADDRESS='0'
TARGET_DEMO='0'
AttributeError: 'SConsEnvironment' object has no attribute 'M4':
File "/home/nroach44/Source/doom3engine/neo/SConstruct", line 422:
SConscript( g_build + '/core/glimp/sys/scons/SConscript.gl' )
File "/usr/lib/scons/SCons/Script/SConscript.py", line 614:
return method(*args, **kw)
File "/usr/lib/scons/SCons/Script/SConscript.py", line 551:
return _SConscript(self.fs, *files, **subst_kw)
File "/usr/lib/scons/SCons/Script/SConscript.py", line 260:
exec _file_ in call_stack[-1].globals
File "/home/nroach44/Source/doom3engine/neo/build/debug/core/glimp/sys/scons/SConscript.gl", line 69:
gl_env.M4( i_m4, …Run Code Online (Sandbox Code Playgroud) 当我尝试这个:
string msm_arg1;
Run Code Online (Sandbox Code Playgroud)
...
if (msm_arg1 = "--console" )
run_console();
Run Code Online (Sandbox Code Playgroud)
我明白了:
res/functions/ReadArgs.h|40|error: could not convert ‘msm_arg1.std::basic_string<_CharT, _Traits, _Alloc>::operator= [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>, std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>](((const char*)"-c"))’ from ‘std::basic_string<char>’ to ‘bool’|
Run Code Online (Sandbox Code Playgroud)
我所看到的是它试图将字符串(msm_arg1)与bool进行比较," - console"显然不是.
我可以看到一种可能的方法:创建一个字符串来比较,但很可能有CLI参数,这可能会变得混乱.
我在Ubuntu 11:10上使用Code :: Blocks和默认的gcc.