Я использую scons для компиляции окна консоли, отключающего приложение C ++, но я не могу этого сделать.
Выполняя поиск в интернете и в StackOverflow, я обнаружил, что эта строка будет работать
env.Append( LINKFLAGS=['-Wl,-subsystem,windows'] )
Проблема в том, что я всегда получаю предупреждение о том, что эта строка игнорируется.
Это сообщение:
LINK : warning LNK4044: unrecognized option '/Wl,-subsystem,windows'; ignored
Я уже пробовал:
env.Append( LINKFLAGS=['-Wl,-subsystem:windows'] )
env.Append( LINKFLAGS='-Wl,-subsystem,windows' )
env.Append( LINKFLAGS=['/Wl,-subsystem,windows'] )
env.Append( LINKFLAGS=['/Wl,-subsystem:windows'] )
Как вы заметили, я реализовал много возможностей, но безуспешно.
Ниже я публикую некоторую часть моего файла SConstruct.
Любая помощь очень ценится.
Спасибо за все ответы
# GNU GCC
if 'gcc' in env[ 'compiler' ]:
env.Append( CCFLAGS='-Wall', CPPDEFINES=['GCC'] )
if int( debug ):
env.Append( CCFLAGS='-g', LINKFLAGS='-g' )
else:
env.Append( CCFLAGS='-O2', LINKFLAGS='-O2' )`
# MSVC v9
elif 'msvc' in env['compiler']:
env.Append( LINKCOM=[ 'mt.exe -nologo -manifest ${TARGET}.manifest -outputresource:$TARGET;1' ] )
env.Append( SHLINKCOM=[ 'mt.exe -nologo -manifest ${TARGET}.manifest -outputresource:$TARGET;2' ] )
env.Append( CCFLAGS='/W3 /EHsc', CPPDEFINES=[ 'WIN32', 'WINDOWS', 'MSVC', '_CRT_SECURE_NO_WARNINGS' ] )
env.Append( CPPDEFINES='MSVC_DLL' )
env.Append( LIBS = 'WS2_32' )
env.AppendUnique( LINKFLAGS=['-Wl,-subsystem,windows'] )
if int( debug ):
env.Append( CCFLAGS='/Od /RTC1 /MDd /Gy /Zi', LINKFLAGS='/DEBUG' )
else:
env.Append( CCFLAGS='/O2 /Oi /GL /MD', LINKFLAGS='/LTCG')`