2012-02-18 24 views

答えて

0

lolしかし、私たちはあなたの質問に答えるためにさらに情報が必要です。基本的に、リンカを呼び出すコマンドラインは、cmd.exe自体でバッファが許すよりも大きいと言われています。私が正しく覚えていれば、コマンドシェルにコマンドラインで大きなバッファを利用させる方法があるかもしれません。あるいは、シェルをWindowsのpowershellに変更し、それが機能するかどうか確認することもできます。

1

ツールでコマンドラインの長さを固定する方法はあまりありません。オブジェクトファイルを2つのライブラリに結合してみることをお勧めします。最後のリンクを実行してライブラリをリンクしてください。これはあなたのMakefileに別のステップを導入しますが、コマンドラインで長すぎるエラーを回避します。

4

nmakeを使ってファイルにコマンドライン引数を書き込み、linkオプションを使ってファイルから引数を読み込むことができます。 「インラインファイル」、例えばhttp://msdn.microsoft.com/en-us/library/z440c98k(v=vs.80).aspx

ため

ルックは、それは私がこれをしなかったので、非常に長い時間だが、のようなもので、私は使用を思い出すよう:

foo.exe : foo1.obj foo2.obj foo3.obj 
    link.exe @<< 
foo1.obj 
foo2.obj foo3.obj 
... more arguments, macros etc on one or more lines 
<< 
    rem other commands go here if you want 

基本的に、あなただけの普通のを持っていますnmakeのコマンドラインですが、<<というマーカのペアは、nmakeにオプションをファイルに書き込むように指示します(そしてそれらはファイルの名前で置き換えられます)。そして、@は、そのファイルから引数を読み込むようにリンクに指示します。

KEEPオプション(指定されたファイル名を持つ可能性があります)は、デバッグに役立ちます。リンクバーフでは、実際にファイルに渡された内容を見ることができます。

+0

あなたはその使用法の例を挙げることができますか? msdnページには例がありません。 –

+0

編集したバージョンを見る –