gpt4 book ai didi

c++ - 错误 LNK2001 : unresolved external symbol, 由于 ifstream 对象

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:41 24 4
gpt4 key购买 nike

error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class std::locale::id std::codecvt::id" (__imp_?id@?$codecvt@DDH@std@@2V0locale@2@A)

1>CAssertLog.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned int __cdecl std::codecvt::_Getcat(class std::locale::facet const * *,class std::locale const *)" (__imp_?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@PBV42@@Z)

1>CAssertLog.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall std::codecvt::unshift(int &,char *,char *,char * &)const " (__imp_?unshift@?$codecvt@DDH@std@@QBEHAAHPAD1AAPAD@Z)

1>CAssertLog.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall std::codecvt::out(int &,char const *,char const *,char const * &,char *,char *,char * &)const " (__imp_?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z)

1>CAssertLog.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall std::codecvt::in(int &,char const *,char const *,char const * &,char *,char *,char * &)const " (__imp_?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z)

1>C:\perforce\sw\apps\gpu\drivers\common\logassert\Release\logassert.dll : fatal error LNK1120: 5 unresolved externals

问题说明:

现在,当我将此源代码行 "ifstream fin;" 添加到源文件时,我看到上面的链接错误。如果我删除此源代码行,则代码会成功编译。我已经为 ifstream 对象添加了支持的头文件和命名空间。不确定,为什么我会看到此链接错误。在 SO 上搜索了类似的错误并尝试了他们建议的解决方案,但这些解决方案对我不起作用。有什么想法吗?

示例代码

//In stdafx.h file below code is there 
#pragma once
#include<iostream>
#include<fstream>
using namespace std;

//In program.cpp
#include "stdafx.h"
class A
{
void B();
ifstream fin; //now if I make this member static then issue goes away. Can anybody explain?
}

最佳答案

看起来您没有链接到标准库。由于错误消息显示 __declspec,我假设带有 Visual Studios 的 Windows 环境。默认情况下,这应该工作:进入项目的属性,然后进入Linker:一般情况下,Ignore Import Library应该是No,而在Input, Ignore All Default Libraries 应该是No, Ignore特定的默认库应该是空的。 (这些是默认值。)

否则:这可能是由于您的安装问题,例如如果不是所有文件都存在。

关于c++ - 错误 LNK2001 : unresolved external symbol, 由于 ifstream 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com