【发布时间】: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
到目前为止我做了什么:
在文件夹 ...\workspace 中创建一个名为 zxing_integration 的 win32 控制台应用程序
创建文件夹 ...\workspace\git 并克隆 zxing repository
创建文件夹 ...\workspace\zxing-cpp\build 并使用命令行提示符 cmake ..\workspace\git\zxing-cpp -G "Visual Studio 11 2012" (我认为这一步没有必要)
在项目设置->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