Создание файла ах для этого файла .cpp - PullRequest
0 голосов
/ 30 марта 2012

Это содержимое файла .cpp. Я хочу, чтобы Parse был запущен из проекта C #.

#include "stdafx.h"
#include "DateTimeParser.h"

using namespace std;

System::DateTime Parse(string myString)
{
    int year, month, day;
    sscanf_s(myString.c_str(), "%4d-%2d-%2d",&year, &month, &day);
    System::DateTime dateTime = System::DateTime(year,month,day);
    return dateTime;
}

Как мне определить файл h? Я попробовал следующее.

#pragma once
#include <iostream>

using namespace System;

ref class DTParser
{
    public:
        System::DateTime Parse(std::string myString);
};

Я получил эту ошибку:

1>------ Build started: Project: DateTimeParser, Configuration: Debug Win32 ------
1>  DateTimeParser.cpp
1>DateTimeParser.obj : error LNK2020: unresolved token (06000001) DTParser::Parse
1>DateTimeParser.obj : error LNK2020: unresolved token (06000002) DTParser::main
1>\Debug\DateTimeParser.dll : fatal error LNK1120: 2 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

В вашем заголовочном файле у вас есть

System::DateTime Parse(std::string myString);

Это может быть просто

DateTime Parse(std::string myString);

Поскольку пространство имен не требуется

0 голосов
/ 30 марта 2012

Из того, что вы говорите, я предполагаю, что проблема не в заголовочном файле.Проблема в том, что вы не скомпилировали свой код C ++ для CLR.Вы должны поместить код C ++ в отдельную сборку и активировать поддержку общеязыковой среды выполнения в настройках проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...