Форум сайта python.su
как в scons скомпилировать файл с помощью mingw ?
создал такой SConstruct :
import os
env = Environment(ENV = os.environ)
env.Tool('mingw')
env = ‘c:\\gcc\\win32\\bin;’ + os.environ
print env
env.Program('test_01.c')
выход :
scons: done reading SConscript files.
scons: Building targets ...
gcc -o test_01.o -c /nologo test_01.c
gcc: /nologo: No such file or directory
scons: *** [test_01.o] Error 1
scons: building terminated because of errors.
Офлайн
/nologo – это ключ для линкера VC++. Чета у вас gcc вызывается как VC++.
Офлайн
нужно изменить используемые тулзы, помоему как-то так (не уверен):
env = ‘mingw’
надо доку читать.
Офлайн
у меня так всё собералось как надо:
…
env = Environment (
…
tools =
…
)
…
Офлайн
поправил, так компилируется :
import os
env = Environment(ENV = os.environ, tools=)
env = ‘c:\\gcc\\win32\\bin;’ + os.environ
env.Object(source = ‘test_01.c’, target = ‘out/test_01.o’)
env.Program(source = ‘out/test_01.o’, target = ‘out/test_01.exe’)
еще вопросы :
1) как одним параметром указать, в какую папку должны помещаться выходные файлы (чтобы не замусоривать папку с исходниками - нужно скомпилировать в локальную папку out/) ?
2) как заставить scite показать вывод из gcc ?
добавил в cpp.properties :
command.build.*.c=scons.py
компиляция выполняется, но сообщения об ошибках из gcc не показываются в окне Output scite :
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o out\test_01.o -c test_01.c
scons: *** [out\test_01.o] Error 1
scons: building terminated because of errors.
>Exit code: 2
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o out\test_01.o -c test_01.c
test_01.c: In function 'main':
test_01.c:6: error: 's' undeclared (first use in this function)
test_01.c:6: error: (Each undeclared identifier is reported only once
test_01.c:6: error: for each function it appears in.)
test_01.c:6: error: expected ')' before string constant
scons: *** [out\test_01.o] Error 1
scons: building terminated because of errors.
Отредактировано (Апрель 30, 2008 13:13:41)
Офлайн