【发布时间】:2018-11-05 23:34:05
【问题描述】:
我有一个旧的 Visual C++ 项目,它使用 FORTRAN 静态库 来创建对象。我目前遇到的问题是该项目最初是使用 Compaq Visual Fortran 编译器制作的,该编译器使用 DFOR 库。但是,我得到了错误:
错误 105 错误 LNK1104:无法打开文件 'dfor.lib'
问题是对 lib 的剩余引用需要替换。但是,我已经重建了几次项目,重新创建了我拥有源文件的所有对象,但错误仍未解决。我在项目中的所有文件中搜索字符串 dfor.lib,这些是唯一的结果文件。
Image of files containing string 'dfor.lib'
在项目链接器属性中,如果我在命令行中删除/defaultlib:"dfor.lib" 行,我会收到以下错误:
Error 6 error LNK2001: unresolved external symbol "public: class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > > __thiscall petMove::toString(void)" (?toString@petMove@@QAE?AV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@XZ) C:\Users\Gavin\Desktop\College stuff\1st year (Fresher)\Pet_Gavin\pet_neda\Power Network CaptureView.obj Power Network Capture
Error 23 error LNK2019: unresolved external symbol "protected: __thiscall CZoomView::CZoomView(void)" (??0CZoomView@@IAE@XZ) referenced in function "protected: __thiscall CPowerNetworkCaptureView::CPowerNetworkCaptureView(void)" (??0CPowerNetworkCaptureView@@IAE@XZ) C:\Users\Gavin\Desktop\College stuff\1st year (Fresher)\Pet_Gavin\pet_neda\Power Network CaptureView.obj Power Network Capture
Error 24 error LNK2019: unresolved external symbol "protected: virtual __thiscall CZoomView::~CZoomView(void)" (??1CZoomView@@MAE@XZ) referenced in function "public: virtual __thiscall CPowerNetworkCaptureView::~CPowerNetworkCaptureView(void)" (??1CPowerNetworkCaptureView@@UAE@XZ) C:\Users\Gavin\Desktop\College stuff\1st year (Fresher)\Pet_Gavin\pet_neda\Power Network CaptureView.obj Power Network Capture
Error 7 error LNK2019: unresolved external symbol "public: __thiscall CDialogCurrentPhasor::CDialogCurrentPhasor(class CWnd *)" (??0CDialogCurrentPhasor@@QAE@PAVCWnd@@@Z) referenced in function "public: void __thiscall CCurrentPhasor::SEDialogHandler(void)" (?SEDialogHandler@CCurrentPhasor@@QAEXXZ) C:\Users\Gavin\Desktop\College stuff\1st year (Fresher)\Pet_Gavin\pet_neda\Power Network CaptureDoc.obj Power Network Capture
Error 5 error LNK2019: unresolved external symbol "public: class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > > __thiscall petMove::toString(void)" (?toString@petMove@@QAE?AV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@XZ) referenced in function "public: int __thiscall CPowerNetworkCaptureDoc::PushMove(class petMove *)" (?PushMove@CPowerNetworkCaptureDoc@@QAEHPAVpetMove@@@Z) C:\Users\Gavin\Desktop\College stuff\1st year (Fresher)\Pet_Gavin\pet_neda\Power Network CaptureDoc.obj Power Network Capture
Error 22 error LNK2019: unresolved external symbol "public: unsigned int __thiscall petMove::getPartType(void)" (?getPartType@petMove@@QAEIXZ) referenced in function "protected: void __thiscall CPowerNetworkCaptureView::OnChar(unsigned int,unsigned int,unsigned int)" (?OnChar@CPowerNetworkCaptureView@@IAEXIII@Z) C:\Users\Gavin\Desktop\College stuff\1st year (Fresher)\Pet_Gavin\pet_neda\Power Network CaptureView.obj Power Network Capture
Error 14 error LNK2019: unresolved external symbol "public: virtual __thiscall CDialogRunAnalysisFromFilePF::~CDialogRunAnalysisFromFilePF(void)" (??1CDialogRunAnalysisFromFilePF@@UAE@XZ) referenced in function "protected: void __thiscall CPowerNetworkCaptureDoc::OnAnalysisRunFromFilePF(void)" (?OnAnalysisRunFromFilePF@CPowerNetworkCaptureDoc@@IAEXXZ) C:\Users\Gavin\Desktop\College stuff\1st year (Fresher)\Pet_Gavin\pet_neda\Power Network CaptureDoc.obj Power Network Capture
Error 3 error LNK2019: unresolved external symbol _HtmlHelpW@16 referenced in function "protected: void __thiscall CMainFrame::OnHtmlHelp(void)" (?OnHtmlHelp@CMainFrame@@IAEXXZ) C:\Users\Gavin\Desktop\College stuff\1st year (Fresher)\Pet_Gavin\pet_neda\MainFrm.obj Power Network Capture
还有一些,但它们与这些非常相似。
这些错误是更容易解决还是表明需要/defaultlib:"dfor.lib" 的命令?
【问题讨论】:
-
USE DFOR 是否出现在您的代码中的任何位置?这告诉代码使用 dfor.lib
-
@cup 我在任何代码中都没有看到任何对 DFOR 的引用,更不用说使用 DFOR。它确实出现的唯一文件是图像中看到的项目和日志文件。
-
如果您删除 /defaultlib:dfor.lib,您能发布哪些未解析的外部符号吗?如果是一堆以QQ结尾的例程,试试dflib.lib或者ifqwin.lib
-
@cup 感谢您的回复和帮助,我刚刚将大部分错误添加到我的原始帖子中。我会尝试你说的两个套路,并在此期间报告任何进展。
-
如果我使用 ifqwin.lib,我会收到更多未解析的外部错误,如果我尝试 dflib.lib,我会收到无法打开的错误
标签: c++ visual-studio visual-c++ visual-studio-2013 fortran