我在一个visual studio 2010 c ++项目中有两个cpp文件和一个头文件,我想通过使用extern将一个cpp文件中定义的ustring变量链接到另一个。
这是我现在的代码
\\Tmp.h
\\Declare tmp_user and tmp_pass
extern ustring tmp_user;
extern ustring tmp_pass;
\\TmpOne.cpp
\\define tmp_user and tmp_pass
#include "Tmp.h"
ustring tmp_user = username;
ustring tmp_pass = password;
\\TmpTwo.cpp
\\use the defined variables
#include "Tmp.h"
login(tmp_user, tmp_pass)
{
\\some function
}
执行此操作时,我的TmpTwo.cpp文件中出现链接器错误。
error LNK2001: unresolved external symbol "class ustring tmp_user" (?tmp_user@@3Vustring@@A)
error LNK2001: unresolved external symbol "class ustring tmp_pass" (?tmp_pass@@3Vustring@@A)
如果我在TmpTwo.cpp文件中定义tmp_user和tmp_pass,我只会得到两个单独的空文件。
我在这里做错了什么?
答案 0 :(得分:0)
这里有一些问题。首先,这不是你正在使用的代码。评论以//
而不是\\
开头。但假设它接近问题就是你已经声明存在username
和password
,但你实际上并没有在任何地方实例化它们。
您的cpp
个文件之一需要包含以下内容:
ustring username;
ustring password;