我正在使用Hi-Tech C编译器,并希望使用Scons来构建我的项目。编译器可执行文件是picc.exe
。它具有与GCC类似的语义,但不是全部。
我也将默认值设置为GCC并尝试从那里进行修改。执行env.Program('main.c')
:
picc -o main.o -c
但是,在Hi-Tech C中,-o
标志表示输出文件,例如-Oc:\project\output\first
如何附加到-o
,以便输出为:
picc -omain.o -c
答案 0 :(得分:2)
所以在SCons安装的“Tools”目录中查找这些定义:
cc.py: env['CCCOM'] = '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
cc.py: env['SHCCCOM'] = '$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES'
c++.py: env['CXXCOM'] = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
c++.py: env['SHCXXCOM'] = '$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES'
link.py: env['SHLINKCOM'] = '$SHLINK -o $TARGET $SHLINKFLAGS $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
link.py: env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
因此,您可能需要做的就是使用与-o和$ TARGET相邻的版本覆盖env中的这些元素。我认为您可能需要在变量周围放置大括号,例如:
env['CCCOM'] = '$CC -o${TARGET} -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'