链接CodeBlocks到Poppler库
Linking CodeBlocks to Poppler Library
我对c++编程比较陌生,虽然我在一般编码实践,惯例等方面有一些经验…最近我的(有限的)知识到了悬崖边。
基本上我想写一个程序,允许我从PDF文件中提取注释。经过一番研究,我发现波普勒图书馆允许我这样做。因此,我下载了它,并开始了在Windows Vista上为CodeBlocks (MinGW)构建它的艰巨过程。
对于那些感兴趣的人,下面的网站提供了关于用Cmake构建Poppler的宝贵信息:
http://www.seppemagiels.com/blog/building-poppler-windows-using-mingw>
不管怎样,说到我现在的困境。遵循Cmake的源外约定,我有一个这样的文件结构:…
工作.............. poppler-0.22.2
.............. poppler-0.22.2_Build
在"poppler-0.22.2_Build"文件夹中有一个"libpoppler.dll.a"文件,我一直认为这是一个库文件夹。然后,我按照下面描述的说明进行操作:
http://www.learncpp.com/cpp-tutorial/a3-using-libraries-with-codeblocks/然后链接到"poppler-0.22.2 _build"目录下的libpoppler.dll.a文件和原始源目录(即poppler-0.22.2)中的.h文件。
现在我的问题是我需要在我的main.cpp中写什么,这样我就可以使用Poppler功能。一开始我只是写:
#include "poppler.h"
然而,这返回一个"No such file or directory"错误。然后我试了:
#include "poppler-qt4.h"
然后执行,但是我后来在代码中被告知"poppler"没有被声明。然后我试了:
#include "poppler-qt4.h"
#include "C:Users...poppler-0.22.2cpppoppler-document.h"
然后返回"未定义的引用'imp_ZN7poppler8document14load_from_fileERKsS2_S2_'"错误…
所以这就是我现在的位置,我完全不知道我应该如何继续,我希望有人能通过我需要采取的步骤来让Poppler工作,即我如何让库链接,如果这确实是问题,或者我如何克服"imp_"错误。对于这个问题我真的是束手无策了。
事先感谢你方提供的任何帮助。
注:My main.cpp至今:
#include <iostream>
//#include "poppler.h"
#include "poppler-qt4.h"
#include "C:Users...poppler-0.22.2cpppoppler-document.h"
using namespace std;
int main()
{
const string dir = "C:\Users\...\TestPDF.pdf";
poppler::document *doc = poppler::document::load_from_file(dir)
return 0;
}
在Code::Blocks中,右键单击项目名称并选择"Build Options…"。在最左边的菜单中选择项目名称(应该是第一个选项),然后单击"链接器设置"。现在按"添加"按钮,浏览到您的DLL文件,然后按"确定"。
要允许包含库的头文件(不需要在源代码中写下完整的路径),您应该告诉将它们的位置添加到编译器的include路径中。您可以在同一窗口的"搜索目录"选项卡上进行此操作。确保选择"编译器"子选项卡并按"添加"。浏览到包含头文件的目录,按"Ok"键。
- 为什么这种情况发生在CodeBlocks上?
- fopen_s 未在 scope(C++:codeblocks ) 中声明
- CodeBlocks使用哪个版本的c++
- CodeBlocks,C++,mingw-w64编译器,Windows 10,错误:对`DAQmxCreateTask&
- Valgrind on codeblocks (linux)
- Bitdefender指责病毒,同时使用CodeBlocks编译c ++源代码
- 使用 CodeBlocks + GCC 构建的可执行文件是否可以在任何 Windows 上运行?
- CodeBlocks和Visual Studio 2019中的不同结果
- 如何在Windows上的CodeBlocks中使用libpng
- C++ 当我使用 iostream 时无法编译(Linux,CodeBlocks)
- CodeBlocks成功地编译了,但海湾合作委员会失败了,为什么
- 代码在CodeBlocks中运行良好,但是当我将其上传到Google Kickstart竞赛时,我会得到一个重新播放
- C++ MinGW GCC CodeBlocks静态链接
- 我如何在CodeBlocks中获得按下的键
- ( __ printf __ ) 在 DLL (programfiles(x86)\codeblocks\mingw
- TensorFlow with c++, codeblocks
- CodeBlocks 13.12 使用哪个 c++ 版本
- CodeBlocks字符串输出定界线
- 我的C 程序在CodeBlocks中提供了正确的结果,但在Visual Basic 2005 Express Edi
- 链接CodeBlocks到Poppler库