gpt4 book ai didi

c++ - Unresolved 符号问题

转载 作者:行者123 更新时间:2023-11-28 08:00:42 28 4
gpt4 key购买 nike

我有以下项目文件:

//connections.cpp

#include "stdafx.h"
#include "LibraryHeaders.h"
#include "FileManager.h"

#define WSAVersion 0x202
#define GSMsgID 0x100

extern HWND Main_hWnd;

bool InitConnections ()
{
FileManager::ConnectFile *connectfile = FileManager::ReadConnectFile(connectfile);
SockBase GSConnection(WSAVersion, TCP, connectfile->GS_IP, connectfile->GS_Port, Main_hWnd, GSMsgID);
if (GSConnection.Connect() != true) {return false;}
return true;
}

//FileManager.cpp
#include "stdafx.h"
#include "FileManager.h"
#include "LibraryHeaders.h"

using namespace FileManager;

ConnectFile* ReadConnectFile(ConnectFile *ConnectStruct)
{
FileLibrary connectfile("DMOConnection.cfg");
if (connectfile.OpenFile(HEAP, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, PAGE_READWRITE) != true) {return false;}
ConnectStruct->GS_IP = connectfile.parser->str_GetToken((char*)connectfile.FileBuff);
if (ConnectStruct->GS_IP == (const char*) -1) {return false;}
ConnectStruct->GS_Port = connectfile.parser->int_GetToken((char*)connectfile.FileBuff);
if (ConnectStruct->GS_Port == -1) {return false;}
return ConnectStruct;
}

//FileManager.h
namespace FileManager
{
struct ConnectFile
{
const char* GS_IP;
unsigned int GS_Port;
};

ConnectFile* ReadConnectFile(ConnectFile*);
}

在尝试构建项目时出现此错误:

Connections.obj : error LNK2019: unresolved external symbol "struct FileManager::ConnectFile * __cdecl FileManager::ReadConnectFile(struct FileManager::ConnectFile *)" (?ReadConnectFile@FileManager@@YAPAUConnectFile@1@PAU21@@Z) referenced in function "bool __cdecl InitConnections(void)" (?InitConnections@@YA_NXZ)

我不明白为什么,链接器应该查找并看到我已经在 FileManager.cpp 上定义了 FileManager::ReadConnectFile 但它没有,任何提示如何解决这个问题?

最佳答案

您正在定义一个自由函数:

ConnectFile* ReadConnectFile(ConnectFile *ConnectStruct)

不是成员(member):

ConnectFile* FileManager::ReadConnectFile(ConnectFile *ConnectStruct)

完全不同。

还有:

using namespace FileManager;

error LNK2019: unresolved external symbol "struct FileManager::ConnectFile [...]

建议您有一个 namespace FileManager 和一个 struct FileManager...使用相同名称的原因是什么?

关于c++ - Unresolved 符号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11557020/

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