Как использовать CPPSharpC#

Место общения программистов C#
Ответить
Anonymous
 Как использовать CPPSharp

Сообщение Anonymous »

Я хочу использовать CPPSharp для создания обертки C# для некоторых классов из библиотеки C ++, которую я намерен использовать из C# (в 64 -битной системе Windows 10). < /p>
К сожалению, я Я абсолютно не уверен, как продолжить. Я клонировал CPPSharp в мою файловую систему и построил ее, как описано в разделе «Начало работы»
https://github.com/mono/cppsharp/blob/m ... started.md < /p>
Я также успешно провел весь тест. Впечатление того, что для использования CPPSharp должен создать приложение C# (для простоты приложения консоли), реализовать абстрактный класс из CPPSHARP и выполнить некоторые команды из CPPSHARP. От
https://github.com/mono/cppsharp/issues/82
Редактировать: теперь я использую следующий код
using CppSharp;
using CppSharp.AST;
using CppSharp.Generators;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CppSharpTransformer
{

class DllDemoGenerator : ILibrary
{
public static void Main(string[] args)
{
ConsoleDriver.Run(new DllDemoGenerator());
}

void Setup(Driver driver)
{

var options = driver.Options;
options.GeneratorKind = GeneratorKind.CSharp;
var module = options.AddModule("Sample");
module.IncludeDirs.Add(@"C:\Users\Boehm.J\Documents\CppSharpSamples\Sample\include");
module.Headers.Add("Sample.h");
module.LibraryDirs.Add(@"C:\Users\Boehm.J\Documents\CppSharpSamples\Sample\lib");
module.Libraries.Add("Sample.lib");

}

public void SetupPasses(Driver driver) { }

public void Preprocess(Driver driver, ASTContext ctx)
{
}

public void Postprocess(Driver driver, ASTContext ctx)
{
}

void ILibrary.Setup(Driver driver)
{
}
}
}
< /code>
, который находится в программе. Cs моего приложения для консоли, я называл CppSharpTransformer. Net 6.0), добавив в мой проект следующие DLLS:
cppsharp.ast.dll />cppsharp.cli.dll написан > Cppsharp.generator.dll
cppsharp.parser.bootstrap.dll
cppsharp.parser.cli.dll
cppsharp.parser.csharp.dllобразной
cppsharp.parser.gen.dll
cppsharp.runtime.dll
Я добавил их в «Зависимости» (Abhängigkeiten)> Assemblys », а также в качестве файлов в качестве членов моего проекта. < /p>
Но я не могу выполнить приложение в настоящее время, так как я получаю ошибку времени выполнения: < /p>

Не могу загрузить файл или сборку 'Cppsharp.parser.cli, версия = 0,0.0.0,
culture = нейтральный, publickeytoken = null'. Система DAS Kann Die Angegebene
datei nicht find. /p>
Но DLL этого имени, кажется, на месте. Это происходит в < /p>

c:lasers \boehm.j\documents\work\ chppsharptransformermermermerssharptransformers
< /blockquote> и в < /p>

c:LieSers \Boehm.j\documents\work\cppsharpTransformersersmerptransformermermermers\x64\release\net6.0
< /blockquote>

Подробнее здесь: https://stackoverflow.com/questions/732 ... e-cppsharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»