当从命令行执行LibSVM时,我可以给-q作为参数,一切都会好的。但是,当我将它用作库时,没有以编程方式设置的-q参数。那怎么能抑制输出呢?在Java和python中存在解决方案,但在C ++中则不存在。
答案 0 :(得分:2)
您可以使用与 svm_train.c 相同的技巧。
首先定义一个不执行任何操作的函数:
void print_null(const char *s) {}
然后调用设置打印的功能:
svm_set_print_string_function(&print_null);
答案 1 :(得分:0)
LibSVM也作为源代码分发。您可以删除所有不需要的fprintf或将输出函数指针信息设置为0
static int (*info)(const char *fmt,...) = 0;//&printf;
再次构建它:
nmake -f Makefile.win lib
答案 2 :(得分:0)
svm_set_print_string_function([](auto c) {});