我尝试将zxing集成到其他C ++项目中。我在Windows 7中使用Visual Studio 2012。
我想从zxing存储库运行示例代码: zxing example
如果我编译我的项目,我会收到错误:
zxing_integration.obj:lnk2001未解析的外部符号
zxing_integration.exe致命错误lnk1120 1未解析的外部符号
到目前为止我做了什么:
在文件夹... \ workspace中创建一个名为zxing_integration的win32控制台应用程序
创建一个文件夹... \ workspace \ git并克隆zxing repository
创建一个文件夹... \ workspace \ zxing-cpp \ build并使用命令行提示符构建zxing项目cmake .. \ workspace \ git \ zxing-cpp -G" Visual Studio 11 2012" (我认为这一步没有必要)
在项目设置下添加 - > C / C ++ - >其他包括directorys(所有配置)以下的pathes:... \ workspace \ git \ zxing-cpp \ core \ src和... workspace \ git \ zxing-cpp \ cli \ src
在这些步骤之后,在Visual Studio中没有任何红色下划线或标记,因此我认为可以找到源文件。如果我构建项目,我会得到两个错误。我认为链接器需要.lib文件,但我在项目中找不到zxing libs。我是否必须构建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;
}