我试图从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/