使用 gcc 编译基于 DocxFactory 的应用程序
Compile DocxFactory based application with gcc
我正在尝试从DocxFactory编译一个最小的示例。该示例取自C++教程。
执行以下步骤:
- 下载适用于 64 位 Linux 的 DocxFactory 库
- 按照C++教程中所述提取并安装库
- 之后,创建了一个示例文件 (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 的函数或类?
DocxFactory使用Zint生成条形码。 libzint.so 是Zint共享库。
您是否设置了LD_LIBRARY_PATH或使用 ldconfig?
亲切问候阿隆
相关文章:
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 通过安装信号处理程序关闭多线程应用程序
- 如何在实时应用程序中锁定线程
- System.AccessViolationException:shared_ptr C# .NET 和 C++ 应用程
- boost::asio::io_service 在线程中,不会在应用程序退出时退出
- 如何在 MFC 应用程序中启动 ZeroMQ 线程?
- 多线程应用中的流程尺寸不断增长
- 双线程应用比单线程应用慢 C++ (VC++ 2010 Express).如何解决?
- 多线程 gtkmm 应用程序最简单的示例
- 将数组作为多线程应用程序中函数的返回传递
- 修改多线程应用程序中的对象
- 多线程 C++11 应用程序中的同步
- 多线程Windows GUI应用程序中的死锁
- C++多线程应用程序将永远挂起
- 具有多线程应用程序的 Nanomsg 无阻塞双向套接字
- 在接收 SIGINT 操作时适当地关闭多线程 c++ 应用程序
- 如何在多线程应用程序中获得花费的时间
- Linux VM(重型多线程应用程序)的性能改进
- MFC SDI 应用程序文档 DOSAVE 错误0xFEEEFEEE
- OpenCV videoCapture 为 iOS 应用程序文档目录中的文件提供了错误的属性