lqian / light-LPR

Light-LPR is an open source project aimed at license plate recognition that can run on embedded devices, mobile phones, and x86 platforms. It aims to support license plate recognition in various scenarios. The accuracy rate of license plate character recognition exceeds 99.95%, and the comprehensive recognition accuracy rate exceeds 99.%, Support multi-country and multilingual license plate recognition.
776 stars 168 forks source link

Compilation error on windows x64 #17

Open devinou971 opened 3 years ago

devinou971 commented 3 years ago

I accountered an error in the last step of the build process for Windows x64 I used Visual studio 2017 15.9.36 and CMAKE version 3.2 I got this error when trying the nmake command :

`nmake

Microsoft (R) Program Maintenance Utility Version 14.16.27045.0 Copyright (C) Microsoft Corporation. Tous droits réservés.

[ 20%] Linking CXX shared library ....\lib\mlpdr.dll LINK Pass 1: command "C:\PROGRA~2\MICROS~2\2017\PROFES~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\mlpdr.dir\objects1.rsp /out:....\lib\mlpdr.dll /implib:....\lib\mlpdr.lib /pdb:C:\Users[REDACTED]\Downloads\light-LPR-master\build\lib\mlpdr.pdb /dll /version:0.0 /machine:x64 /debug /INCREMENTAL /DEF:CMakeFiles\mlpdr.dir\exports.def -LIBPATH:C:\Users\[REDACTED]\Downloads\light-LPR-master\lib-win32 MNN.lib C:\Users\[REDACTED]\Downloads\opencv\build\x64\vc15\lib\opencv_world342d.lib C:\Users\User\Downloads\opencv\build\x64\vc15\lib\opencv_world342d.lib C:\Users\User\Downloads\opencv\build\x64\vc15\lib\opencv_world342d.lib C:\Users\User\Downloads\opencv\build\x64\vc15\lib\opencv_world342d.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\mlpdr.dir/intermediate.manifest CMakeFiles\mlpdr.dir/manifest.res" failed (exit code 1120) with the following output: CrÚation de la bibliothÞque ....\lib\mlpdr.lib et de l'objet ....\lib\mlpdr.exp MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: cdecl MNN::Tensor::Tensor(class MNN::Tensor const ,enum MNN::Tensor::DimensionType,bool)" (imp_??0Tensor@MNN@@QEAA@PEBV01@W4DimensionType@01@_N@Z) rÚfÚrencÚ dans la fonction "private: void cdecl mlpdr::MLPDR::recognize_plate_infos(class cv::Mat const &,class std::vector<struct mlpdr::PlateInfo,class std::allocator > &)" (?recognize_plate_infos@MLPDR@mlpdr@@AEAAXAEBVMat@cv@@AEAV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: cdecl MNN::Tensor::~Tensor(void)" (_imp??1Tensor@MNN@@QEAA@XZ) rÚfÚrencÚ dans la fonction "private: void cdecl mlpdr::MLPDR::recognize_plate_infos(class cv::Mat const &,class std::vector<struct mlpdr::PlateInfo,class std::allocator > &)" (?recognize_plate_infos@MLPDR@mlpdr@@AEAAXAEBVMat@cv@@AEAV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: static class MNN::Tensor cdecl MNN::Tensor::create(class std::vector<int,class std::allocator > const &,struct halide_type_t,void *,enum MNN::Tensor::DimensionType)" (imp_?create@Tensor@MNN@@SAPEAV12@AEBV?$vector@HV?$allocator@H@std@@@std@@Uhalide_typet@@PEAXW4DimensionType@12@@Z) rÚfÚrencÚ dans la fonction "public: static class MNN::Tensor __cdecl MNN::Tensor::create(class std::vector<int,class std::allocator > const &,void ,enum MNN::Tensor::DimensionType)" (??$create@M@Tensor@MNN@@SAPEAV01@AEBV?$vector@HV?$allocator@H@std@@@std@@PEAXW4DimensionType@01@@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: bool cdecl MNN::Tensor::copyFromHostTensor(class MNN::Tensor const *)" (__imp?copyFromHostTensor@Tensor@MNN@@QEAANPEBV12@@Z) rÚfÚrencÚ dans la fonction "void cdecl mlpdr::fillInput(class std::vector<int,class std::allocator > const &,class cv::Mat const &,class MNN::Tensor *)" (?fillInput@mlpdr@@YAXAEBV?$vector@HV?$allocator@H@std@@@std@@AEBVMat@cv@@PEAVTensor@MNN@@@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: bool cdecl MNN::Tensor::copyToHostTensor(class MNN::Tensor *)const " (imp?copyToHostTensor@Tensor@MNN@@QEBA_NPEAV12@@Z) rÚfÚrencÚ dans la fonction "private: void cdecl mlpdr::MLPDR::recognize_plate_infos(class cv::Mat const &,class std::vector<struct mlpdr::PlateInfo,class std::allocator > &)" (?recognize_plate_infos@MLPDR@mlpdr@@AEAAXAEBVMat@cv@@AEAV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: enum MNN::Tensor::DimensionType cdecl MNN::Tensor::getDimensionType(void)const " (imp_?getDimensionType@Tensor@MNN@@QEBA?AW4DimensionType@12@XZ) rÚfÚrencÚ dans la fonction "private: void cdecl mlpdr::MLPDR::recognize_plate_infos(class cv::Mat const &,class std::vector<struct mlpdr::PlateInfo,class std::allocator > &)" (?recognize_plate_infos@MLPDR@mlpdr@@AEAAXAEBVMat@cv@@AEAV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: class std::vector<int,class std::allocator > cdecl MNN::Tensor::shape(void)const " (imp_?shape@Tensor@MNN@@QEBA?AV?$vector@HV?$allocator@H@std@@@std@@XZ) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: int cdecl MNN::Tensor::width(void)const " (imp_?width@Tensor@MNN@@QEBAHXZ) rÚfÚrencÚ dans la fonction "public: class std::vector<struct mlpdr::PlateInfo,class std::allocator > cdecl mlpdr::MLPDR::Detect_MaxFace(class cv::Mat const &,int,int)" (?Detect_MaxFace@MLPDR@mlpdr@@QEAA?AV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@AEBVMat@cv@@HH@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: int cdecl MNN::Tensor::height(void)const " (imp_?height@Tensor@MNN@@QEBAHXZ) rÚfÚrencÚ dans la fonction "public: class std::vector<struct mlpdr::PlateInfo,class std::allocator > cdecl mlpdr::MLPDR::Detect_MaxFace(class cv::Mat const &,int,int)" (?Detect_MaxFace@MLPDR@mlpdr@@QEAA?AV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@AEBVMat@cv@@HH@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: int cdecl MNN::Tensor::batch(void)const " (imp_?batch@Tensor@MNN@@QEBAHXZ) rÚfÚrencÚ dans la fonction "void cdecl mlpdr::ctc_decode(class MNN::Tensor *,class std::vector<int,class std::allocator > &)" (?ctc_decode@mlpdr@@YAXPEAVTensor@MNN@@AEAV?$vector@HV?$allocator@H@std@@@std@@@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: int cdecl MNN::Tensor::stride(int)const " (imp?stride@Tensor@MNN@@QEBAHH@Z) rÚfÚrencÚ dans la fonction "class std::vector<struct mlpdr::PlateInfo,class std::allocator > cdecl mlpdr::ProposalNet(unsigned char *,int,int,int,float,float)" (?ProposalNet@mlpdr@@YA?AV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@PEAEHHHMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: static class MNN::Interpreter __cdecl MNN::Interpreter::createFromFile(char const )" (__imp?createFromFile@Interpreter@MNN@@SAPEAV12@PEBD@Z) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: cdecl MNN::Interpreter::~Interpreter(void)" (imp_??1Interpreter@MNN@@QEAA@XZ) rÚfÚrencÚ dans la fonction "public: void __cdecl MNN::Interpreter::`scalar deleting destructor'(unsigned int)" (??_GInterpreter@MNN@@QEAAPEAXI@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "__declspec(dllimport) public: class MNN::Session cdecl MNN::Interpreter::createSession(struct MNN::ScheduleConfig const &)" (imp_?createSession@Interpreter@MNN@@QEAAPEAVSession@2@AEBUScheduleConfig@2@@Z) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: void cdecl MNN::Interpreter::resizeSession(class MNN::Session *)" (imp_?resizeSession@Interpreter@MNN@@QEAAXPEAVSession@2@@Z) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: void cdecl MNN::Interpreter::releaseModel(void)" (imp?releaseModel@Interpreter@MNN@@QEAAXXZ) rÚfÚrencÚ dans la fonction "public: virtual cdecl mlpdr::MLPDR::~MLPDR(void)" (??1MLPDR@mlpdr@@UEAA@XZ) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: enum MNN::ErrorCode cdecl MNN::Interpreter::runSession(class MNN::Session *)const " (imp?runSession@Interpreter@MNN@@QEBA?AW4ErrorCode@2@PEAVSession@2@@Z) rÚfÚrencÚ dans la fonction "public: class std::vector<struct mlpdr::PlateInfo,class std::allocator > cdecl mlpdr::MLPDR::Detect_MaxFace(class cv::Mat const &,int,int)" (?Detect_MaxFace@MLPDR@mlpdr@@QEAA?AV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@AEBVMat@cv@@HH@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: class MNN::Tensor __cdecl MNN::Interpreter::getSessionInput(class MNN::Session const ,char const )" (_imp?getSessionInput@Interpreter@MNN@@QEAAPEAVTensor@2@PEBVSession@2@PEBD@Z) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: class MNN::Tensor cdecl MNN::Interpreter::getSessionOutput(class MNN::Session const ,char const )" (imp_?getSessionOutput@Interpreter@MNN@@QEAAPEAVTensor@2@PEBVSession@2@PEBD@Z) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: void cdecl MNN::Interpreter::resizeTensor(class MNN::Tensor *,class std::vector<int,class std::allocator > const &)" (imp_?resizeTensor@Interpreter@MNN@@QEAAXPEAVTensor@2@AEBV?$vector@HV?$allocator@H@std@@@std@@@Z) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: cdecl MNN::CV::Matrix::Matrix(void)" (imp_??0Matrix@CV@MNN@@QEAA@XZ) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: void cdecl MNN::CV::Matrix::setScale(float,float)" (imp_?setScale@Matrix@CV@MNN@@QEAAXMM@Z) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: void cdecl MNN::CV::Matrix::postScale(float,float)" (imp_?postScale@Matrix@CV@MNN@@QEAAXMM@Z) rÚfÚrencÚ dans la fonction "public: class std::vector<struct mlpdr::PlateInfo,class std::allocator > cdecl mlpdr::MLPDR::Detect_MaxFace(class cv::Mat const &,int,int)" (?Detect_MaxFace@MLPDR@mlpdr@@QEAA?AV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@AEBVMat@cv@@HH@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: static class MNN::CV::ImageProcess __cdecl MNN::CV::ImageProcess::create(struct MNN::CV::ImageProcess::Config const &,class MNN::Tensor const )" (imp_?create@ImageProcess@CV@MNN@@SAPEAV123@AEBUConfig@123@PEBVTensor@3@@Z) rÚfÚrencÚ dans la fonction "public: cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "declspec(dllimport) public: cdecl MNN::CV::ImageProcess::~ImageProcess(void)" (imp_??1ImageProcess@CV@MNN@@QEAA@XZ) rÚfÚrencÚ dans la fonction "public: void * cdecl MNN::CV::ImageProcess::scalar deleting destructor'(unsigned int)" (??_GImageProcess@CV@MNN@@QEAAPEAXI@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "__declspec(dllimport) public: void __cdecl MNN::CV::ImageProcess::setMatrix(class MNN::CV::Matrix const &)" (__imp_?setMatrix@ImageProcess@CV@MNN@@QEAAXAEBVMatrix@23@@Z) rÚfÚrencÚ dans la fonction "public: __cdecl mlpdr::MLPDR::MLPDR(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,float,float,float,float)" (??0MLPDR@mlpdr@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MMMM@Z) MLPDR.cpp.obj : error LNK2019: symbole externe non rÚsolu "__declspec(dllimport) public: enum MNN::ErrorCode __cdecl MNN::CV::ImageProcess::convert(unsigned char const *,int,int,int,class MNN::Tensor *)" (__imp_?convert@ImageProcess@CV@MNN@@QEAA?AW4ErrorCode@3@PEBEHHHPEAVTensor@3@@Z) rÚfÚrencÚ dans la fonction "public: class std::vector<struct mlpdr::PlateInfo,class std::allocator<struct mlpdr::PlateInfo> > __cdecl mlpdr::MLPDR::Detect_MaxFace(class cv::Mat const &,int,int)" (?Detect_MaxFace@MLPDR@mlpdr@@QEAA?AV?$vector@UPlateInfo@mlpdr@@V?$allocator@UPlateInfo@mlpdr@@@std@@@std@@AEBVMat@cv@@HH@Z) C:\Users\ProTechnologies\Downloads\light-LPR-master\lib-win32\MNN.lib : warning LNK4272: type d'ordinateur bibliothÞque 'x86' en conflit avec le type d'ordinateur cible 'x64' ..\..\lib\mlpdr.dll : fatal error LNK1120: 27 externes non rÚsolus NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' : code retour '0xffffffff' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : code retour '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : code retour '0x2' Stop.