C++ C++;LNK2001:添加windows phone运行时组件时未解析的外部符号

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

这可能是一个重复的问题,但就我搜索而言,我找不到问题。 返回的错误是依赖项的问题,但我不明白到底是什么错了。所以我有一个Windows Phone项目,我添加了一个Windows Phone运行时组件项目, 我在.header中创建了一个类和两个公共函数:

 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)
{ ... }