我需要将OpenALPR库集成到我的c++程序中。不幸的是,我无法进行链接工作。

openalpr.lib 位于C:\ path \ to \ alpr中, alpr.h header 位于C:\ path \ to \ alpr \ included中,所有* .dll文件都位于带有主文件的目录中。
系统Windows7,编译器Gcc 5.3。

当前的构建命令:

g++ -Wall -fexceptions -g -IC:\path\to\alpr\include -c C:\path\to\project\main.cpp -o obj\main.o

g++ -LC:\path\to\alpr -o bin\test.exe obj\main.o -lopenalpr

码:
#include <alpr.h>
int main()
{
    alpr::Alpr openalpr("us", "openalpr.conf");
    return 0;
}

错误:
undefined reference to `alpr::Alpr::Alpr(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'

依此类推,还有许多类似的“ undefined reference ”。

OpenALPR库以二进制版本从以下位置下载:
https://github.com/openalpr/openalpr/wiki/Compilation-instructions-(Windows)

我应该从源头构建图书馆吗?也许我错过了什么?提前致谢。

最佳答案

GCC5 and the C++11 ABI:



尝试使用-D_GLIBCXX_USE_CXX11_ABI=0进行编译。

关于c++ - 使用未定义引用的c++设置OpenALPR。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46036523/

10-12 20:43