C ++ LNK2001: неразрешенный внешний символ при добавлении компонента среды выполнения Windows Phone

0

Это, вероятно, дублированный вопрос, но, насколько я искал, я не мог найти проблему. Возвращенная ошибка - это проблема зависимостей, но я не понимаю, что на самом деле неправильно. Таким образом, у меня есть проект 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);
    }

И когда я пытаюсь построить 2 ошибки типа LNK2001, верните их следующим образом:

Error 1 error LNK2001: unresolved external symbol "public: virtual
class Platform::String ^ __cdecl
Base64Encode_::Base64Encoding::[Base64Encode_::__IBase64EncodingPublicNonVirtuals]::EncodeData(class
Platform::String ^)"
(?EncodeData@?Q__IBase64EncodingPublicNonVirtuals@Base64Encode_@@Base64Encoding@2@U$AAAP$AAVString@Platform@@P$AAV45@@Z)    C:\Users\CodeNinja\Documents\Visual
Studio
2013\Projects\OpenscapeWP\Base64Encode\Base64Encode.obj Base64Encode

Error 2 error LNK2001: unresolved external symbol "public: virtual
class Platform::String ^ __cdecl
Base64Encode_::Base64Encoding::[Base64Encode_::__IBase64EncodingPublicNonVirtuals]::DecodeString(class
Platform::String ^)"
(?DecodeString@?Q__IBase64EncodingPublicNonVirtuals@Base64Encode_@@Base64Encoding@2@U$AAAP$AAVString@Platform@@P$AAV45@@Z)  C:\Users\CodeNinja\Documents\Visual
Studio
2013\Projects\OpenscapeWP\Base64Encode\Base64Encode.obj Base64Encode

Если я удалю общедоступное ключевое слово в.header для обеих функций, проблема с компоновщиком исчезнет, но функции недоступны.

В заголовке я получил статическую функцию для перевода из ASCII в символы, но я думаю, что это вряд ли проблема. Так что же не так?

Теги:
visual-studio-2013
windows-phone-8

1 ответ

0
Лучший ответ

Я понял вопрос, и я оставляю ответ здесь, даже если я отвечаю на свой вопрос, для кого-то другого. Я создал две глобальные функции в моем.cpp файле. Они должны быть учениками:

String^ Base64Encoding::EncodeData(String^ StringData)
{ ... }

String^ Base64Encoding::DecodeString(String^ StringData)
{ ... }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню