2012-05-08 4 views
0

私はVS10をしばらく使ってdllをビルドしていましたが、Eclipseでも同様に行うことができます。Eclipseの 'link'コマンドに引用符を追加する

Eclipseでの見かけ上の症状は、リンカーは刺激性で失敗していることである:

LINK : fatal error LNK1104: cannot open file 'C:\Program.obj' 

何かがCにスペースが保護されていないので、これはおそらくです:\プログラムファイル(x86の)...引数は、そのうちのいくつかを持っています。

コマンドをCMDプロンプトにコピーしてスペースを含む引数の周りに手動で引用符を付けることによって、私は99.9%の問題がEclipseであることを確認しています。 作業コマンドは次のとおりです。

link /DLL /debug /nologo /OUT:PIDExternalController.dll main.obj C:\Opt\Bladed\Main\Test\Code\ExternalController\Debug\ExternalControllerApi.lib "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\delayimp.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\Kernel32.Lib" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\oldnames.lib" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcrt.lib" 

コマンドのEclipseのエコーは同じですが、これは必ずしもコンパイラのエコーは、それがでないことを引用符を示さなかったとして、何かを証明していませんが、引用符(なし実際の使用)。

Eclipseがリンカーの呼び出しを引用符で囲むオプションや正当なメカニズムが見つかりませんでしたが、このでなければなりません。明白な何かを逃したことがありますか? Eclipseの>プロジェクト]> [プロパティ]> [パスやシンボルに

+0

どのようにしてそのプログラムをEclipseに移植しましたか?あなたはカスタムmakefileを使ってコンパイルしますか? –

+1

私はクリーンなスタートから始めました。私がこれをやっている理由の一部は、新しいユーザーがプロセスをどのように進めるべきかを文書化するためです。 –

答えて

6

>ライブラリタブ、単一引用符でライブラリへのパスを囲む:

'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\Kernel32.Lib' 

は、パスが存在しませんが、それが必要という警告があるでしょうあなたのプロジェクトを再構築した後に消えてしまいます。

関連する問題