2017-01-11 549 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?

亲切的问候, 阿隆