Я пытаюсь экспортировать некоторые void / функции из C ++ Cli, который оборачивает функции C # .Net.
В данный момент я могу правильно экспортировать методы, которые возвращают целочисленное значение, но когда я пытаюсь экспортироватьVoid, я получаю сообщение об ошибке:
Ошибка C3395 «Test2»: __declspec (dllexport) нельзя применить к функции с соглашением о вызовах __clrcall ClassLibrary1
Этополный код:
#pragma once
using namespace System;
using namespace System::Reflection;
using namespace RobinHoodLibrary;
namespace ClassLibrary1 {
public ref class Class1
{
// TODO: Add your methods for this class here.
RobinHood^ robin = gcnew RobinHood();
public: int Add(int Number1, int Number2)
{
return robin->Add(Number1, Number2);
}
public: System::Void Test()
{
robin->Test();
}
public: int Test1(int i)
{
return robin->Test1(i);
}
public: System::Void Test2(String^ txt)
{
robin->Test2(txt);
}
};
}
extern __declspec(dllexport) int Add(int Number1, int Number2) {
ClassLibrary1::Class1 c;
return c.Add(Number1, Number2);
}
extern __declspec(dllexport) void Test() {
ClassLibrary1::Class1 c;
c.Test();
return;
}
extern __declspec(dllexport) int Test1(int i) {
ClassLibrary1::Class1 c;
return c.Test1(i);
}
extern __declspec(dllexport) System::Void Test2(String^ txt) {
ClassLibrary1::Class1 c;
c.Test2(txt);
}
Я могу легко экспортировать метод Add, Test и Test1, но не Test2.
Как я могу это исправить?
Благодаря поддержке