問題タブ [scons]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5914 参照

c++ - sconsを使用して、事前に構築されたライブラリにどのようにリンクしますか?

私は最近、sconsを使用していくつかの小さなクロスプラットフォームプロジェクトを構築し始めました。これらのプロジェクトの1つは、事前に構築された静的ライブラリとリンクする必要があります...これはどのように行われますか?

makeでは、Windowsに「link / LIBPATH:whereeverlibstxxl.lib」を追加し、unixに「stxxl.a」を追加するだけです。

0 投票する
6 に答える
62228 参照

visual-c++ - 致命的なエラーC1083:インクルードファイルを開くことができません:'Windows.h':およびscons

今日は正式にC++での私の最初の日です:P

オープンソースのEnsoProjectを入手したいので、Visual C ++ 2005ExpressEditionとMicrosoftPlatformSDK for Windows Server2003SP1をダウンロードしました。

そのため、sconsをインストールした後、コンソールに移動し、sconsを使用してコンパイルしようとしましたが、次のエラーが発生しました。

これらのリンクを確認した後:

VS ans PSDK

tiffi.hを含める

Wndows.h

私は自分のインストールを次のように構成することができました:

代替テキスト

そして、このスクリプトを実行する

代替テキスト

そして、IDEで以下のファイルをコンパイルすることができました。

しかし、それでもコンソールでその例外が発生します。誰かがsconsの経験がありますか?

編集

実際に(そして私はあなたにこれを言うのを忘れました)私はリンク「VisualStudio2005コマンドプロンプト」でコマンドプロンプトを開始しました。

これには環境変数のパスが含まれると思います。それらを印刷した後、私はそれがしなかったことに気づきました:

そして、それらは存在しなかったので、私はこの.batファイルを作成しました:

それでも、sconsはvarsを取​​らないように見えます... :(

0 投票する
4 に答える
2910 参照

python - Python から dll を読み込む

ここで見つけたソースコードからPythonアプリケーションを構築しています

Web を検索していくつかの問題をコンパイルして修正することができましたが、この時点で立ち往生しています。

アプリケーションを実行すると、このメッセージが表示されます。

代替テキスト http://img511.imageshack.us/img511/4481/loadfr0.png

この python アプリは、swig を使用して c/c++ コードにリンクします。

私は VC++2005 Express Edition を持っており、scons と Python 2.5 と共にコンパイルするのに使用していました (そして 2.4 も試しました)。

ロードしようとしているdllは「msvcr80.dll」です。これは、メッセージが「msvcr80.dll」になる前に見つからないか、そのようなものであるため、取得してwindow32フォルダーにドロップしました。

私がここで読んだことについて: http://msdn.microsoft.com/en-us/library/ms235591(VS.80).aspx

解決策は、マニフェストと dll ファイルを使用して MT を実行することです。私はすでにそれを行いましたが、どちらも機能しません。

誰かが私を正しい方向に向けることができますか?

これは、マニフェスト ファイルの内容です。

今、Python 2.6 を試してみますが、問題を理解できるかどうかはよくわかりませんが、Python 2.5 と Python 2.5 の .exe には、.exe ファイル内に文字列 "MSVCR71.dll" が含まれていました。しかし、おそらくこれは何の関係もありません。

ps。すべてがjarファイルと同じくらい簡単だったら:(

これは完全を期すためのスタック トレースです。

0 投票する
2 に答える
3482 参照

build-process - scons で CPU アーキテクチャ (32 ビット / 64 ビット) を検出していますか?

sconsで CPU アーキテクチャを検出するための「標準」プラグインはありますか?

ところで、この質問はすでにここでより一般的な形式で尋ねられました...誰かがこの情報を scons に組み込むためにすでに時間を割いているかどうか疑問に思っています。

0 投票する
2 に答える
7117 参照

c++ - プロジェクトにビルド出力をSconsと同じディレクトリに配置するにはどうすればよいですか?

バックグラウンド

2つのサブプロジェクトを持つ基本的なC++サンプルプロジェクトを設定して、Sconsを試しています。

  • Prj1はPrj2に依存するEXEです
  • Prj2は、いくつかの関数をエクスポートするDLLです。

私が遭遇している問題は、ライブラリがその.obj、.pdb、.lib、.dllなどのファイルをSConscriptファイルと同じディレクトリに構築し、EXEがそのファイルをSConscriptと同じディレクトリに構築することです。アプリケーションは、Prj2依存関係とそれ自体の両方を正常に構築します。ただし、他のディレクトリにあるために必要なライブラリが見つからないため、結果のEXEを実行することはできません。

質問

バイナリとデバッグ情報を共通のディレクトリに出力して実行およびデバッグできるようにするために、依存関係のある複数のプロジェクトを取得するにはどうすればよいですか?

考えられる解決策

これは私がこれまで考えてきたことです:

  • VariantDir(以前はBuildDirと呼ばれていました)を使用してみましたが、これは機能しないようです。おそらく私はここで何かを台無しにしています。
  • コンパイラとリンカに(たとえばFo / Fdを介して)ファイルをドロップする場所を明示的に伝えることができる可能性があります(これが最善または唯一の解決策ですか?)
  • 結果のバイナリに対してコピーコマンドを実行します(これはハックのようであり、管理/保守するのが非常に面倒です)

アップデート

以下のファイル構造とファイルの内容を更新して、実用的なソリューション全体を反映させました。彼の洞察に悲しんでくれてありがとう。

指示

この構成では、残念ながら、ビルドディレクトリにcdしてから、以下のコマンドを実行してビルドを実行する必要があります。これを回避するには、適切に機能するエイリアス設定を取得する必要があります。

ファイル構造

SConstruct

scons_helper.py

Prj1のSConscript

Prj2のSConscript

0 投票する
1 に答える
1978 参照

c++ - Sconsで相対パスを使用してビルドターゲットのエイリアスを作成するには?

バックグラウンド

2 つのサブプロジェクトを持つ基本的な C++ サンプル プロジェクトをセットアップして、Scons を試しています。

  • Prj1 は Prj2 に依存する EXE です。
  • Prj2 は、一部の関数をエクスポートする DLL です。

SConstruct および SConscript ファイルのディレクトリ構造と内容は、こちらで確認できます。

問題

私が直面している問題は、コマンド ラインからこれらのターゲットをビルドするには、ビルド ディレクトリへの相対パスとプラットフォーム固有のファイル拡張子の両方を指定する必要があることです。

たとえば、Prj1 をビルドするには、次のことを行う必要があります。

同様に、Prj2 をビルドするには、次のことを行う必要があります。

質問

相対パスとプラットフォーム固有のファイル拡張子を指定せずに、SCons にこれらのプロジェクトをビルドさせるにはどうすればよいですか?

希望:

考えられる解決策

  • エイリアスを使用 - これは私が望んでいるものだと確信していますが、明らかに何かを台無しにしています。私は成功せずに次のことを試しました:

参考文献

0 投票する
3 に答える
9582 参照

python - scons : src と include ディレクトリ

誰かが次の構造を許可するscons構成ファイルを提供できますか

最上位では、o と最終的な exe が必要です。

0 投票する
0 に答える
500 参照

python - SCons: ターゲットが他のリポジトリでビルドされている場合、別のリポジトリのターゲットへのリンクを作成するにはどうすればよいですか?

ファイルに を追加するRepositoryと( link )、リポジトリ内のいずれかのターゲットがこの別のリポジトリでビルドされている (そして依存関係が変更されていない) 場合、ターゲットはビルドされませ。これは非常にクールです。残念ながら、特定の場所に配置されているターゲットに依存するツールがいくつかあります。他のリポジトリに既にターゲットがビルドされているため、ローカルでビルドしないことを決定した場合、現在のリポジトリにこの他のリポジトリのターゲットへのリンクを作成するにはどうすればよいですか?SConstructSConsSCons

編集:SConsファイルを他のリポジトリからローカルリポジトリにコピーする「ローカル」機能があるようです( リンク。これらのターゲットは大きく、多くの冗長性があるため、本当に必要なのはソフトリンクです。

0 投票する
2 に答える
1607 参照

python - SCons の問題 - Variables クラスを理解していない

プロジェクトの SConstruct ビルド ファイルに取り組んでおり、オプションが廃止されているため、オプションから変数に更新しようとしています。しかし、変数の使い方がわかりません。おそらくこれに貢献しているPythonの経験はありません。

たとえば、私はこれを持っています:

しかし、私はエラーが発生します:

これがどのように機能するのかわかりません

0 投票する
2 に答える
3453 参照

python - 複数行のビルドコマンドを生成するにはどうすればよいですか?

SConsでは、私のコマンドジェネレーターは途方もなく長いコマンドラインを作成します。ビルドログで読みやすくするために、これらのコマンドを複数の行に分割できるようにしたいと思います。

たとえば、次のようなSConsciptがあります。

実行すると、次のようになります。

os.systemとos.popenを使用してPythonシェルでこれを行うと、読み取り可能なコマンド文字列が取得され、サブシェルプロセスがすべての行を1つのコマンドとして解釈します。

SConsでこれを行うと、各行が一度に1つずつ実行されますが、これは私が望んでいることではありません。

また、コマンドをシェルスクリプトに組み込んでから、シェルスクリプトを実行することは避けたいと思います。これは、文字列をエスケープする狂気を生み出すからです。

これは可能ですか?

更新:
クールナペ、
$CCCOMSTRについての手がかりをありがとう。残念ながら、私はSConsがすぐにサポートする言語を使用していないため、独自のコマンドジェネレーターを作成しています。ジェネレーターを使用して、SConsに次のことを実行させるにはどうすればよいですか?

しかし、印刷