C# обертка для С++ статической библиотеки

Рейтинг: 2Ответов: 2Опубликовано: 08.07.2011

Доброго времени суток!

Требуется сделать ActiveX на c# c использованием С++ библиотеки. Как сделать на с# ActiveX в сети много примеров хороших и разных. А вот как сделать DLL для использования на с# примеров не нашёл.

Используя подход №2, http://www.windows-tech.info/17/b11ab287a75874da.php approach #2, создал проект cppAx Visual C++ | Win32 | Win32, поставил галочки DLL и Export symbols. Добавил в проект заголовок статической библиотеки. Сгенерился следующий файл.

// cppAx.cpp : Defines the exported functions for the DLL application.
//

#include "stdafx.h"
#include "cppAx.h"
#include "MyStatLib.h"
// This is an example of an exported variable
CPPAX_API int ncppAx=0;
// This is an example of an exported function.
CPPAX_API int fncppAx(void)
{
    return 42;
}
// This is the constructor of a class that has been exported.
// see cppAx.h for the class definition
CcppAx::CcppAx()
{
    return;
}

Дальше вроде нужно объявить экспортируемые функции из статической библиотеки. Но как не знаю. Даже если в таком виде компилирую и пытаюсь в другом проекте ссылаться на полученную DLL, то получаю

A reference to XXX.dLL could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

Заранее благодарен за помощь!

Ответы

Ответов пока нет.