scons


昨日の午後、javascript v 8をやっていたとき、sconsで構築されていることに気づきました.
私自身でcの時、LNK 1104がkernel 32にリンクできないことに気づいた.libの問題.
(注意:私の環境はwinxp、visual studio 2008 express、マイクロソフトのものは面倒です)
ネットではいくら探しても見つからなかった.今朝、scons guideを見てみましたが、簡単な問題でlibは見つかりませんでしたが、sconsに追加しなければなりません.
コードの場合:

      int
      main()
      {
          printf("Hello, world!
"); }

SConstructを次のように定義できます.

ms_libpath=[
            'C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\lib',
            'C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\LIB']
DefaultEnvironment(LIBPATH=ms_libpath)
Program('helloworld.c')

これで、その間違いはありません.実際、主な問題はやはりsconsが間違っていて、その構築環境オブジェクトのlibが正確ではありません.win 32 sdkはmsvs/platformのようです.これは違います.位置は上記の通りです.
sconsで構築するのは本当に便利で分かりやすいです.このようなタスクを構築することはpythonのような言語に非常に適しています.
相応の言語は相応のことをしなければならない.一つの言語で、すべてのことをすることを期待しないでください(私はもともとこのような考えを持っていました).
sconsのドキュメントを大体読みました.はっきりしていて、sconsは構築分野で、将来はデフォルトの選択になると信じています.
しかし、javaシステムの構築はantに及ばず、実行ではなく構築に注目していることに気づきました.もちろん、javaに関するbuilderなどの補足をいくつか追加することができますが、これは問題ありませんが、javaに対するサポートはまだ強くありません.
理論的に言えば、sconsにはできないことはありません.それはpythonで、実行可能なコードです.antのxmlよりずっと強いです.何をしたいのかコードで直接書くのは、気持ちがいいのではないでしょうか.