私は C++ でのプログラミングに比較的慣れていませんが、一般的なコーディングの慣行や規則などの経験はありますが... 最近、(限られた) 知識が限界に達しています。
基本的に、PDF ファイルから注釈を抽出できるプログラムを作成したいと考えています。いくつかの調査で、Poppler ライブラリがこれを可能にすることを発見しました。そこで私はそれをダウンロードし、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 に何を書く必要があるかです。最初に私はちょうど書いた:
#include "poppler.h"
ただし、これは「そのようなファイルまたはディレクトリはありません」というエラーで返されました。それから私は試しました:
#include "poppler-qt4.h"
これは実行されましたが、コードの後半で「poppler」が宣言されていないことが通知されました。それから私は試しました:
#include "poppler-qt4.h"
#include "C:\Users\...\poppler-0.22.2\cpp\poppler-document.h"
その後、「「 imp _ZN7poppler8document14load_from_fileERKsS2_S2_」への未定義の参照」エラーが返されました...
それが私が今いる場所です。どうやって続けるべきかまったくわかりません.Popplerを機能させるために必要な手順を誰かが教えてくれることを望んでいました.つまり、ライブラリをリンクさせる方法のように.それは確かに問題です。または、「 imp _」エラーを克服するにはどうすればよいですか。私は本当にこの問題で頭がいっぱいです...
あなたが提供できる助けを前もって感謝します。
PSこれまでの私のmain.cpp:
#include <iostream>
//#include "poppler.h"
#include "poppler-qt4.h"
#include "C:\Users\...\poppler-0.22.2\cpp\poppler-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;
}