2017-01-11 14 views
0

Я пытаюсь скомпилировать минимальный пример с DocxFactory. Пример берется с C++ Tutorial.Компилировать приложение на основе DocxFactory с помощью gcc

Следующие шаги, где выполняются:

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?

ответ

1

DocxFactory использует Zint для создания штрих-кодов. libzint.so - это общая библиотека Zint.

Вы установили LD_LIBRARY_PATH или использовали ldconfig?

С уважением, Alon

 Смежные вопросы

  • Нет связанных вопросов^_^