Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在Visual Studio 2017上构建LIBSVM?_C++_Makefile_Visual Studio 2017_Libsvm - Fatal编程技术网

C++ 如何在Visual Studio 2017上构建LIBSVM?

C++ 如何在Visual Studio 2017上构建LIBSVM?,c++,makefile,visual-studio-2017,libsvm,C++,Makefile,Visual Studio 2017,Libsvm,我正在尝试将LIBSVM与Windows 10上的Visual Studio 2017结合使用。我在/windows目录下安装了libsvm-3.22,有一个Dll文件和一堆exe文件,但没有lib文件。按照我试图通过在cmd窗口中运行来构建的自述文件中的说明: C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat nmake -f C:\...\libsvm-3.22\Makefile.win clean a

我正在尝试将LIBSVM与Windows 10上的Visual Studio 2017结合使用。我在/windows目录下安装了libsvm-3.22,有一个Dll文件和一堆exe文件,但没有lib文件。按照我试图通过在cmd窗口中运行来构建的自述文件中的说明:

C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat

nmake -f C:\...\libsvm-3.22\Makefile.win clean all
结果是错误消息

NMAKE:致命错误U1073:不知道如何生成“svm.h”

如果我运行这个命令来构建lib文件

nmake -f C:\...\libsvm-3.22\Makefile.win lib
它给出了一个类似的错误

NMAKE:致命错误U1073:不知道如何生成“svm.cpp”

有人能帮忙吗?

(复制到这里,以防原始页面消失)

打开Visual Studio命令提示符,可以在开始->程序->Microsoft Visual Studio->工具中找到其快捷方式。现在运行
dumpbin
命令以获取dll中所有导出函数的列表:

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

你可以从你的.dll创建一个.lib-哇!非常感谢,这确实有效,我现在可以成功地构建我的代码了!