将Mingw生成的lib文件转换为Viscual C ++时,如何解决未解析的外部符号“ __declspec(dllimport)”

时间:2019-02-13 10:55:27

标签: c++ visual-studio-2015 mingw linker-errors dllimport

我正在尝试在Windows中为VS2015构建poppler库。我使用Mingw并构建了库并生成了dll。

我还通过从.a文件生成.def文件将.a库文件转换为.lib文件。

何时将库包含在VS项目中。我收到此链接错误

1>Extract_pdf_poppler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class poppler::page * __cdecl poppler::document::create_page(int)const " (__imp_?create_page@document@poppler@@QEBAPEAVpage@2@H@Z) referenced in function main
1>Extract_pdf_poppler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class poppler::toc * __cdecl poppler::document::create_toc(void)const " (__imp_?create_toc@document@poppler@@QEBAPEAVtoc@2@XZ) referenced in function main
1>Extract_pdf_poppler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class poppler::document * __cdecl poppler::document::load_from_file(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?load_from_file@document@poppler@@SAPEAV12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00@Z) referenced in function main
1>Extract_pdf_poppler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl poppler::text_box::~text_box(void)" (__imp_??1text_box@poppler@@QEAA@XZ) referenced in function "public: void * __cdecl poppler::text_box::`scalar deleting destructor'(unsigned int)" (??_Gtext_box@poppler@@QEAAPEAXI@Z)
1>Extract_pdf_poppler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class poppler::rectangle<double> __cdecl poppler::text_box::bbox(void)const " (__imp_?bbox@text_box@poppler@@QEBA?AV?$rectangle@N@2@XZ) referenced in function main
1>Extract_pdf_poppler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::vector<class poppler::text_box,class std::allocator<class poppler::text_box> > __cdecl poppler::page::text_list(void)const " (__imp_?text_list@page@poppler@@QEBA?AV?$vector@Vtext_box@poppler@@V?$allocator@Vtext_box@poppler@@@std@@@std@@XZ) referenced in function main
1>Extract_pdf_poppler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class poppler::toc_item * __cdecl poppler::toc::root(void)const " (__imp_?root@toc@poppler@@QEBAPEAVtoc_item@2@XZ) referenced in function main
1>Extract_pdf_poppler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::vector<class poppler::toc_item *,class std::allocator<class poppler::toc_item *> > __cdecl poppler::toc_item::children(void)const " (__imp_?children@toc_item@poppler@@QEBA?AV?$vector@PEAVtoc_item@poppler@@V?$allocator@PEAVtoc_item@poppler@@@std@@@std@@XZ) referenced in function "void __cdecl print_toc(class poppler::toc_item *)" (?print_toc@@YAXPEAVtoc_item@poppler@@@Z)

如何解决这个问题?

我在链接器中包括了具有所有这些功能的库。

那为什么我会收到此错误?

0 个答案:

没有答案