【问题标题】:Include zxing in C++ project在 C++ 项目中包含 zxing
【发布时间】:2015-10-30 14:55:28
【问题描述】:

我尝试将 zxing 集成到其他 C++ 项目中。我在 Windows 7 中使用 Visual Studio 2012。

我想运行 zxing 存储库中的示例代码: zxing example

如果我编译我的项目,我会得到一个错误:

zxing_integration.obj : lnk2001 未解析的外部符号

zxing_integration.exe 致命错误 lnk1120 1 unresolved external symbol

到目前为止我做了什么:

  1. 在文件夹 ...\workspace 中创建一个名为 zxing_integration 的 win32 控制台应用程序

  2. 创建文件夹 ...\workspace\git 并克隆 zxing repository

  3. 创建文件夹 ...\workspace\zxing-cpp\build 并使用命令行提示符 cmake ..\workspace\git\zxing-cpp -G "Visual Studio 11 2012" (我认为这一步没有必要)

  4. 在项目设置->C/C++ -> 附加包含目录(所有配置)下添加以下路径:...\workspace\git\zxing-cpp\core\src 和...workspace\git \zxing-cpp\cli\src

在这些步骤之后,Visual Studio 中没有红色下划线或标记,所以我认为可以找到源文件。如果我构建项目,我会得到两个错误。我认为链接器需要 .lib 文件,但我在项目中找不到 zxing 库。我必须构建lib文件吗?

奇怪的是错误出现在第 258 行 source = ImageReaderSource::create(filename); 而不是第 256 行 Ref<LuminanceSource> source;。好像可以找到LuminanceSource

    Ref<LuminanceSource> source;
    try {
        source = ImageReaderSource::create(filename);
    } catch (const zxing::IllegalArgumentException &e) {
        cerr << e.what() << " (ignoring)" << endl;
        continue;
    }

【问题讨论】:

    标签: c++ visual-studio-2012 linker static-libraries zxing


    【解决方案1】:

    对于任何因这个过时的问题而绊倒的人:与上游 Java 项目相比,有一个“新的”c++ 实现有很多改进:ZXingCpp

    可以在 Windows/macOS/Linux/Android/WASM 上构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 2016-12-17
      • 2011-07-25
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多