2017-09-21 6 views
1

Windows 10でVisual Studio 2017でLIBSVMを使用しようとしています。libsvm-3.22/WindowsディレクトリにDllファイルとexeファイルがありますが、libファイルはありません。Visual Studio 2017でLIBSVMをビルドする方法は?

します。C:\ Program Files(x86の)\のMicrosoft Visual Studioの14.0 \ VC \ビンの\ VCVARS32.BAT

nmake -f C:\...\libsvm-3.22\Makefile.win clean all 

私はCMDウィンドウ内で実行することで構築しようとしたReadmeファイルの指示に従って結果はエラーメッセージです

NMAKE:致命的なエラーU1073:私はLIBファイルを構築する代わりに、このコマンドを実行すると「svm.h」を作る方法を

を知りません

nmake -f C:\...\libsvm-3.22\Makefile.win lib 

それは同様のエラーに

NMAKEを与える:致命的なエラーU1073: 'をsvm.cpp'

でしいずれか助けてくださいを作る方法がわかりませんか?

+0

あなたはあなたの.dllからの.libを作成することができます - https://adrianhenke.wordpress.com/2008/12/ 05/create-lib-file-dll/ – SBF

+1

WOW!ありがとう、実際に働いて、私は正常に自分のコードを構築することができます! – evi

答えて

1

Create .lib file from .dll(元のページが消え念のため、ここで重複)

オープンのVisual Studioコマンドプロンプト]は、[スタート - >プログラム - >のMicrosoft Visual Studio->ツールでそのショートカットを見つけます。今すぐあなたのDLLのエクスポートされたすべての関数のリストを取得するにはdumpbinのコマンドを実行します。

dumpbin /exports C:\yourpath\yourlib.dll>yourlib.def 

これは、テキストファイルのyourlib.def作成します。

ordinal hint RVA  name 

1 0 00017770 jcopy_block_row 
2 1 00017710 jcopy_sample_rows 
3 2 000176C0 jdiv_round_up 
4 3 000156D0 jinit_1pass_quantizer 
5 4 00016D90 jinit_2pass_quantizer 
6 5 00005750 jinit_c_coef_controller 
...etc 

今オープンyourlib.defをし、すべてが、削除"EXPORTS"という行を上に置きます。私のyourlib.defファイルは次のようになります:

EXPORTS 
jcopy_block_row 
jcopy_sample_rows 
jdiv_round_up 
jinit_1pass_quantizer 
jinit_2pass_quantizer 
jinit_c_coef_controller 
... 

最後に、.libファイルを作成することができます。私たちは、このためにlibツールを使用するので、あなたのVisual Studioコマンドプロンプトで次のコマンドを実行します。

lib /def:C:\mypath\mylib.def /OUT:C:\mypath\mylib.lib 
関連する問題