Найти - Пользователи
Полная версия: scons + mingw
Начало » Инструментальные средства разработки » scons + mingw
1
umup
как в 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.
как отключить ?

консольными командами gcc -c, gcc файл компилируется/линкуется нормально.
bialix
/nologo – это ключ для линкера VC++. Чета у вас gcc вызывается как VC++.
bialix
нужно изменить используемые тулзы, помоему как-то так (не уверен):

env = ‘mingw’

надо доку читать.
poltergeist
у меня так всё собералось как надо:


env = Environment (

tools =

)

umup
поправил, так компилируется :


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.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB