zoukankan      html  css  js  c++  java
  • Build Libsvm to dll

    0. Environment

    Windows 8

    Visual studio 2012

    Libsvm 3.14 (libsvm-3.14.zip)

    1. Steps

    1.1 Create a Win32 empty DLL project and set (in Project->$Project_Name Properties...->Configuration) to "Release."

    1.2 Add svm.cpp, svm.h, svm-train.c, svm-predict.c, svm-scale.c and svm.def to your project.

    1.3 Add __WIN32__ and _CRT_SECURE_NO_DEPRECATE to Preprocessor definitions (in Project->$Project_Name Properties...->C/C++->Preprocessor)

    1.4 Set Create/Use Precompiled Header to "Not Using Precompiled Headers" (in Project->$Project_Name Properties...->C/C++->Precompiled Headers)

    1.5 Set the path for the "Modulation Definition File" to svm.def (in Project->$Project_Name Properties...->Linker->input

    1.6 Add dll.cpp file and add the following code:

    extern "C" __declspec(dllexport) int libsvmdll_svm_train()
    {
        int paramNumber = 6;
        int paramWordLength = 10;
        int argc = paramNumber;
        char** argv = (char**)malloc(sizeof(char*) * paramNumber);
        for (int i = 0; i < paramNumber; ++i)
        {
            argv[i] = (char*)malloc(sizeof(char) * paramWordLength);
        }
        argv[0] = "svm-train";
        argv[1] = "-s";
        argv[2] = "0";
        argv[3] = "-t";
        argv[4] = "2";
        argv[5] = "libsvm.train";
        return svm_train_main(argc, argv);
    }

    1.7 Add some other code you like(such as predict code) and then build the DLL.

    2. References

    http://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f211

    (This article is from http://www.cnblogs.com/chenyineng/archive/2012/12/24/2830467.html, and belongs to http://chenyineng.cnblogs.com and http://www.chenyineng.info)

  • 相关阅读:
    页面出现Incorrect string以及数据库内容乱码
    页面中的导航监测
    基于.NET平台常用的框架整理
    强化学习-简介
    强化学习五大方面-奖励与策略结构
    强化学习五大方面-环境
    MSP430G2ET时钟系统
    java每日一练 2020.7.27
    Java多线程
    java每日一练 2020.7.26
  • 原文地址:https://www.cnblogs.com/chenyineng/p/2830467.html
Copyright © 2011-2022 走看看