subject_19274.htm

来自「一些关于vc的问答」· HTM 代码 · 共 12 行

HTM
12
字号
<p>
序号:19274 发表者:海风 发表日期:2002-10-27 15:55:29
<br>主题:error LNK2005 如何定义一个全局变量?
<br>内容:inking...<BR>ContrlDBDlg.obj : error LNK2005: "struct LOGININFO&nbsp;&nbsp;Loginfo" (?Loginfo@@3ULOGININFO@@A) already defined in ContrlDB.obj<BR>LoginDlg.obj : error LNK2005: "struct LOGININFO&nbsp;&nbsp;Loginfo" (?Loginfo@@3ULOGININFO@@A) already defined in ContrlDB.obj<BR>MyAsyncSocket.obj : error LNK2005: "struct LOGININFO&nbsp;&nbsp;Loginfo" (?Loginfo@@3ULOGININFO@@A) already defined in ContrlDB.obj<BR>Debug/ContrlDB.exe : fatal error LNK1169: one or more multiply defined symbols found<BR>Error executing link.exe.<BR><BR><BR>typedef struct <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString&nbsp;&nbsp;&nbsp;&nbsp;m_DBName;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString&nbsp;&nbsp;&nbsp;&nbsp;m_PassWord;<BR>&nbsp;&nbsp;&nbsp;&nbsp;UINT&nbsp;&nbsp;&nbsp;&nbsp;m_Port;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString&nbsp;&nbsp;&nbsp;&nbsp;m_SrvAd;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString&nbsp;&nbsp;&nbsp;&nbsp;m_UsrName;<BR>}LOGININFO;<BR><BR>LOGININFO&nbsp;&nbsp;&nbsp;&nbsp; Loginfo;<BR><BR>class CMyAsyncSocket : public CAsyncSocket<BR>{<BR><BR>}<BR><BR>另一头文件 <BR>// ContrlDBDlg.h : header file<BR>//<BR>#include "MyAsyncSocket.h"<BR>#include "LoginDlg.h"<BR>#include "RryDlg.h"<BR>#include "ListDlg.h"<BR><BR>class CContrlDBDlg : public CDialog<BR>{<BR>// Construction<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CContrlDBDlg(CWnd* pParent = NULL);&nbsp;&nbsp;&nbsp;&nbsp;// standard constructor<BR>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OnConnect();<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString&nbsp;&nbsp;MakePassword();<BR>&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;&nbsp;&nbsp; MakeMsgPg(char* strSQL,unsigned long *tp,unsigned long *SQLlen);<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CLoginDlg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LoginDlg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRryDlg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TryDlg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CMyAsyncSocket&nbsp;&nbsp;m_clientSocket;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CListDlg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ListDlg; <BR>}<BR><BR>如果我把 LOGINIFOF&nbsp;&nbsp;Logininfo  移到其它CPP文件中 那么就只有在那个文件中有效<BR>其它CPP文件中用到Logininfo的话就说没定义 为什么? 这不是全局量么?<BR>我把他移到  theApp全局变量的下面也不行 为什么? 为什么theApp就能在其文件中有效?我的不行 <BR>头痛    <BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:凯凯 回复日期:2002-10-27 16:51:30
<br>内容:反它的定义移到  theApp全局变量的下面。<BR>在需要用到它的CPP文件前面加上这句。<BR>extern LOGININFO&nbsp;&nbsp;&nbsp;&nbsp; Loginfo<BR>就可以了。<BR><BR>记得给分。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?