我试图从DocxFactory中编译一个最小的示例。这个例子取自C++ Tutorial
执行以下步骤:
下载DocxFactory library for 64-bit Linux
按照C++ Tutorial中的说明提取并安装库
之后,创建了一个示例文件(top_level.cpp)
顶级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的函数或类?

最佳答案

DocxFactory使用Zint生成条形码。还有Zint共享库。
您设置了ldu LIBRARY路径还是使用了ldconfig?
谨致问候,
阿龙

关于c++ - 用gcc编译基于DocxFactory的应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41591165/

10-08 21:48