Ваш вопрос сформулирован так странно, это может быть только предположение, но я собираюсь предположить, что вы хотите написать компонент пользовательского интерфейса для использования в проектах .NET. Поэтому основная программа обычно пишется на C # или VB.NET и будет использовать Windows Forms или WPF в качестве среды пользовательского интерфейса. У вас есть некоторый существующий код C ++, написанный на C ++ с использованием Qt, который будет выполнять всю реализацию за вас, поэтому вам нужно написать виджет UI, совместимый с Windows Forms или WPF, в C ++ / CLI, где реализация является виджетом Qt, верно?
В Visual Studio 2008 запустите новый проект. Выберите C ++ в качестве языка и выберите библиотеку классов C ++ / CLL. Поместите в фиктивный класс:
public ref class Foo
{
public:
void Bar() { }
};
Сборка проекта. В .NET исходной матрицей является ваша сборка, которая для библиотеки будет .DLL. Теперь запустите проект C # (консольное приложение) и добавьте ссылку на DLL, которую вы создали выше. Вы можете просто найти его на жестком диске.
В проекте C # добавьте что-то вроде этого в функцию Main:
var o = new MyClassLib.Foo();
o.Bar();
Это все, что нужно сделать. Создавая сборку DLL в C ++ / CLI, а затем добавляя ссылку на нее в проект C #, ее определения public ref class
становятся доступны мгновенно. Не нужно ничего регистрировать.
Как только вы это выясните, вам нужно решить, что вы собираетесь делать с интеграцией виджета Qt (который, я предполагаю, сводится к дескриптору окна Win32?) В среду .NET UI. Это будет наиболее незаметно в Windows Forms, в которой все являются окнами Win32, но вы также можете настроить его для работы с более новым WPF, так как он позволяет соединять старые элементы управления.
Это может быть то, что вам нужно, чтобы начать: http://msdn.microsoft.com/en-us/library/ms235628.aspx