Я пытаюсь скомпилировать минимальный пример с DocxFactory. Пример берется с C++ Tutorial.Компилировать приложение на основе DocxFactory с помощью gcc
Следующие шаги, где выполняются:
- Скачать DocxFactory library for 64-bit Linux
- извлечь и установить библиотеку, как описано в C++ Tutorial
- После этого, пример был создан файл (top_level.cpp)
top_level.cpp:
#include "WordProcessingCompiler.h"
#include <exception>
#include <iostream>
#include <ctime>
using namespace DocxFactory;
using namespace std;
int main()
{
try
{
WordProcessingCompiler& l_compiler =
WordProcessingCompiler::getInstance();
time_t l_start = clock();
l_compiler.compile(
"/opt/DocxFactory/exercises/templates/top_level_items.docx",
"/opt/DocxFactory/exercises/templates/top_level_items.dfw");
cout<< "Completed (in "
<< (double) (clock() - l_start)/CLOCKS_PER_SEC
<< " seconds)."
<< endl;
}
catch (const exception& p_exception)
{
cout << p_exception.what() << endl;
}
}
После того, что он будет составлен, как написано в учебнике, с:
g++ -c top_level.cpp /opt/DocxFactory/src/WordProcessingCompiler.cpp /opt/DocxFactory/src/WordProcessingMerger.cpp -I/opt/DocxFactory/include
Наконец связующая неудачу с
g++ -o top_level top_level.o WordProcessingCompiler.o WordProcessingMerger.o -L/opt/DocxFactory/lib -lDocxFactory
//opt/DocxFactory/lib/libDocxFactoryLib.so: undefined reference to `ZBarcode_Export'
collect2: error: ld returned 1 exit status
Поскольку это связующая ошибка, то становится ясно, что один или более отсутствуют дополнительные динамические библиотеки.
Вопросы
- ли кто-нибудь еще работает с той же проблемой и решить ее уже?
- В какой библиотеке содержится функция или класс с именем ZBarcode_Export?