liuruoze / liuruoze/EasyPR

请问支持opencv 3.2.0 版本的x86平台编译吗

Open
#322 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
6.4k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Description

**I'm submitting a ...** (check one with "x")

```
[x ] bug report
[x] help wanted
[ ] feature request
```

**Current behavior**
我下载opencv 3.2.0版本,但是貌似该工具只支持x64平台编译,强行编译x86会报错。
错误代码:
```
8>thirdparty.lib(helper.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(feature.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(create_data.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>thirdparty.lib(mser2.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>thirdparty.lib(lbp.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(plate_recognize.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(svm_train.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(ann_train.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(annCh_train.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(chars_segment.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(chars_identify.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(core_func.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(chars_recognise.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>main.obj : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(plate_locate.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(plate_judge.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(plate_detect.obj) : error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(feature.obj) : error LNK2001: unresolved external symbol "private: char * __thiscall cv::String::allocate(unsigned int)" (?allocate@String@cv@@AAEPADI@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>thirdparty.lib(mser2.obj) : error LNK2001: unresolved external symbol "private: char * __thiscall cv::String::allocate(unsigned int)" (?allocate@String@cv@@AAEPADI@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>thirdparty.lib(helper.obj) : error LNK2001: unresolved external symbol "private: char * __thiscall cv::String::allocate(unsigned int)" (?allocate@String@cv@@AAEPADI@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(plate_recognize.obj) : error LNK2001: unresolved external symbol "private: char * __thiscall cv::String::allocate(unsigned int)" (?allocate@String@cv@@AAEPADI@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
8>easypr.lib(svm_train.obj) : error LNK2001: unresolved external symbol "private: char * __thiscall cv::String::allocate(unsigned int)" (?allocate@String@cv@@AAEPADI@Z) [F:\EasyPR\EasyPR\build_x86\demo.vcxproj]
```
错误文档在附件中可以找到
[build_x86.log](https://github.com/liuruoze/EasyPR/files/7225476/build_x86.log)

**Expected/desired behavior**
编译通过

**Reproduction of the problem**

**What is the expected behavior?**

希望提供解答,如何编译x86平台?

**What is the motivation / use case for changing the behavior?**

**Please tell us about your environment:**

* **System:** Window Server 2016

* **Compiler version/IDE:** MSVC 14.29.30133

* **CMake version:** 3.19.6

* **OpenCV version:** 3.2.0

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with build_x86.log and the generated build_x86/demo.vcxproj, then verify how the x86 build selects OpenCV 3.2.0 libraries. Done means the x86 configuration builds successfully without the listed unresolved cv::fastFree and cv::String::allocate symbols.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, opencv
Domain
build-system, computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.