2011-12-28 9 views
0

私はHi-Tech Cコンパイラを使用していて、Sconsを使用してプロジェクトを構築したいと考えています。コンパイラの実行ファイルはpicc.exeです。それはGCCと同様のセマンティクスを持ちますが、すべてではありません。sconsの既存のフラグに追加する方法

私もGCCとしてデフォルトを設定して、そこから修正しようとしました。

picc -o main.o -c 

しかし、ハイテクC、-oフラグに出力ファイルを意味し、例えば:env.Program('main.c')の実行からの出力それは、出力になるだろうように、私は、-oに追加するにはどうすればよい-Oc:\project\output\first

picc -omain.o -c 
+0

私はあなたが上に持っているもので少し混乱しています。 piccが "-o"と出力ファイル名の間に空白を入れないようにする必要があるという問題はありますか? – acm

+0

ああ、あなたはおそらくSConsのバージョンとどのプラットフォーム(上記のウィンドウのように見える)について言及するべきでしょうか。 – acm

答えて

2

だから、SConsはの「ツール」ディレクトリの中をインストール突っついすることは、これらの定義を検索します。

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' 

あなたがする必要があるのは、envのこれらの要素を-oと$ TARGETに隣接するバージョンで上書きするだけです。私はあなたが変数の周りに中括弧を配置する必要があるかもしれないと思う:

env['CCCOM'] = '$CC -o${TARGET} -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES' 
+0

提案していただきありがとうございます。あるいは、デフォルトを上書きするのではなく、カスタムビルダーを作成するだけです。 – freonix

関連する問題