anupama lite iyer Ответов: 2

Как лучше всего использовать приложение C++ в проекте C#?


Привет,

Мне нужно использовать некоторые функциональные возможности приложение littlenavmap в проекте c#.

Мне нужно знать, как это можно сделать и как лучше всего это сделать:
1. такой инструмент, как QtSharp/CppSharp/SWIG
2. Компиляции как проект C++/CLI, в который затем можно вызывать из C#
3. Оборачивать код, но я не знаю как

Что я уже пробовал:

Поскольку я очень новичок в обеих технологиях, я только что достиг той стадии, когда я знаю несколько способов, с помощью которых это можно было бы сделать

2 Ответов

Рейтинг:
1

KarstenK

Вы должны принять решение о том, какие части и сколько проекта C++ вам нужно в C#.

Если вам нужны только некоторые функции, чем мои Совместимость C# статья может вас заинтересовать, что больше похоже на обертывание какой-то функциональности. Я написал еще одну статью о Совместимость C++/Cli но это было для Windows phone. Но техника должна быть такой же.

Использование некоторого Qt имеет смысл только тогда, когда он уже находится в коде. Добавление другого фреймворка делает ваш код более сложным и непрозрачным.


Рейтинг:
0

Aydin Homay

Привет Я делал это несколько раз даже для очень больших проектов, которые были основаны на MFC/C++, и я переношу их в C#.Net с помощью C++/CLI. Пожалуйста, перейдите по ссылке ниже, которая является одним из моих советов/трюков, и вернитесь ко мне, если вам все еще нужна помощь. Обратите внимание, что в этой короткой статье речь идет о размещении Windows form в MFC, но и наоборот также применимо с помощью C++/CLI.
Размещение пользовательского элемента управления Windows Forms в диалоговых окнах MFC[^]

Для получения более подробной информации вы можете прочитать эту статью:
Хостинг приложений MFC MDI из приложений WinForms и WPF[^]

Если вы находитесь в Qt, то эта ссылка также будет полезна:
Qt Windows Forms Interop Framework[^]

Овации,
АХ


anupama lite iyer

Спасибо Вам за ответ. Это приложение и может быть построено только с помощью Qt Creator:
https://github.com/albar965/littlenavmap
Возможно ли это до сих пор?

Aydin Homay

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

Aydin Homay

В этом случае, поскольку уровень презентации находится в Qt, я не уверен, что предложенное мной решение будет работать. Это требует дополнительных исследований. Мое первое предположение было бы нет, но кто знает, что в интернете существует так много технологий и кросс-компиляторов. Попробуйте и посмотрите, сможете ли вы найти какую-либо ссылку, которая приведет вас к использованию/интеграции/смешиванию приложения Qt в .Net.