【发布时间】:2022-08-06 21:10:24
【问题描述】:
我按照这个链接下载构建的目录,尝试以一种简单的方式使用 qpdf 库。 How to build qpdf on Windows?
我执行以下步骤来设置我的 Visual Studio 项目:
1. C/C++ -> General -> Additional Include Directories : qpdf-10.3.3\\include
2. Linker -> General -> Additional Library Directories : qpdf-10.3.3\\bin;qpdf-10.3.3\\lib
3. Linker -> General -> Additional Dependencies :
C:\\SDKs\\qpdf-10.6.3\\bin\\libgcc_s_dw2-1.dll
C:\\SDKs\\qpdf-10.6.3\\bin\\libstdc++-6.dll
C:\\SDKs\\qpdf-10.6.3\\bin\\libwinpthread-1.dll
C:\\SDKs\\qpdf-10.6.3\\bin\\qpdf28.dll
,然后我尝试来自 qpdf github 示例的示例代码: https://github.com/qpdf/qpdf/blob/main/examples/pdf-attach-file.cc
最后,我得到了一个错误(和一个警告),即
Error
Code Description File Line
LNK1107 invalid or corrupt file: cannot read at 0x308 C:\\qpdf-10.6.3\\bin\\libgcc_s_dw2-1.dll 1
Warning
C26495 Variable \'QPDFObjectHandle::TokenFilter::pipeline\' is uninitialized. Always initialize a member variable (type.6). qpdf_t01 C:\\qpdf-10.6.3\\include\\qpdf\\QPDFObjectHandle.hh 172
虽然此时,我发现我可以在命令行终端中使用 bin\\qpdf.exe。
但我想我可以将它用作 C++ 库,那么我在这里错过了什么?
感谢任何建议。
-
对于步#3。,你必须提供.lib文件.查看[SO]: LNK2005 Error in CLR Windows Form (@CristiFati\'s answer) 了解更多详情。这网址您提供的不包含您采取的步骤,官方页面也不包含。
-
lib 文件夹 \"libqpdf.dll.a\" 中只有一个文件,我将其包含在第 3 步中,但仍然出现相同的错误。然后我也尝试从这个方法构建.lib \"Generating LIB File for DLL Library\"link,option1:来自这四个dll,option2:来自libqpdf.dll.a。所有选项都遇到相同的错误。我知道 .lib 是现在的问题,但没有解决它的线索。有什么猜测/建议吗?
标签: visual-c++ dll lnk qpdf