C++ C++;LNK2001:添加windows phone运行时组件时未解析的外部符号
这可能是一个重复的问题,但就我搜索而言,我找不到问题。 返回的错误是依赖项的问题,但我不明白到底是什么错了。所以我有一个Windows Phone项目,我添加了一个Windows Phone运行时组件项目, 我在.header中创建了一个类和两个公共函数:C++ C++;LNK2001:添加windows phone运行时组件时未解析的外部符号,c++,windows-phone-8,visual-studio-2013,C++,Windows Phone 8,Visual Studio 2013,这可能是一个重复的问题,但就我搜索而言,我找不到问题。 返回的错误是依赖项的问题,但我不明白到底是什么错了。所以我有一个Windows Phone项目,我添加了一个Windows Phone运行时组件项目, 我在.header中创建了一个类和两个公共函数: public ref class Base64Encoding sealed { public: String^ EncodeData(String^ StringData); String^ DecodeString(St
public ref class Base64Encoding sealed
{
public:
String^ EncodeData(String^ StringData);
String^ DecodeString(String^ StringData);
};
在我的.cpp
中,我填充了函数
#include "pch.h"
#include "Base64Encode.h"
#include <wchar.h>
#include <string>
#include <iostream>
#include <stdlib.h>
String^ EncodeData(String^ StringData)
{
.
.
.
.
// return the result
return StringFromAscIIChars(result);
}
String^ DecodeString(String^ StringData)
{
.
.
.
return StringFromAscIIChars(result);
}
如果删除两个函数的.header中的public关键字,则链接器问题将消失,但函数无法访问
在标题中,我得到了一个从ASCII转换为字符的静态函数,但我认为这几乎不是问题所在。有什么不对吗?我发现了问题所在,我将答案留在这里,即使我是在回答自己的问题,也会留给其他人。我在.cpp文件中创建了两个全局函数。他们必须是班级成员:
String^ Base64Encoding::EncodeData(String^ StringData)
{ ... }
String^ Base64Encoding::DecodeString(String^ StringData)
{ ... }
String^ Base64Encoding::EncodeData(String^ StringData)
{ ... }
String^ Base64Encoding::DecodeString(String^ StringData)
{ ... }