Build Libsvm to dll

3972 단어 Build
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)

좋은 웹페이지 즐겨찾기