我试过多个PDF lybrary,MUPDF是我最后一次创建自己的小型PDF应用程序的机会。但在这里我也有问题。在此之前,我遇到了LNK4098的问题:defaultlib'MSVCRT',但我解决了为所有MUPDF库/ MDd版本设置的问题。大多数错误是以后解决,但我仍然无法解决这个问题:用C++编译C库。链接问题。 MuPDF
error LNK2001: unresolved external symbol "void __cdecl pdfapp_open(struct pdfapp_s *,char *,int)" ([email protected]@[email protected]@[email protected])
//more 3 errors
书面基于C MuPDF,我这样做:
extern "C" {
#include <pdfapp.h>
#include <mupdf\fitz\context.h>
}
但我得到这个错误:
error LNK2001: unresolved external symbol pdfapp_open
//more 3 errors
我的应用程序中只有三种功能。我检查了库和头文件链接,我也设置了我的项目Debug,x64,/ MDd,但是我得到了相同的结果。老实说,我无法在任何一个库中找到这三个功能。我不是编程方面的专家,但我知道函数字符串应该在库中找到,不是吗?这个错误在我的情况下意味着什么?
C和C++是不同的语言。他们有一个足够大的公共子集来编写程序,但没有专门编写和维护以符合这两个标准的程序很可能在一种语言或另一种语言中无效。如果你有一个C库,然后用C编译器构建它。 MSVC++在C模式下运行时不是一个符合要求的C编译器,而且它在* C++模式下运行时肯定不是一个符合要求的C编译器。它的C模式可能足以构建特定的C代码,但是,特别是如果它是旧代码。 –
@ John Bollinger我认为extern C必须解决C和C++之间的任何兼容问题。 ((感谢您的解释) – hardCode
您已经发布了这个问题,这是一个重复的问题,虽然我没有权限查看您删除的旧问题,但如果它因重复而关闭,则发布相同 – tambre