Невозможно создать действительную dll с помощью Visual C ++ 2012

Я попытался создать DLL с Visual C ++ 2012, следуя это прохождение, но я потерпел неудачу. Когда я попытался импортировать встроенную DLL в другой проект в качестве ссылки, я получил эту ошибку: A reference to '***.dll' could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

Я не понимаю, в чем моя ошибка в коде и почему я получаю эту ошибку. Вот мой заголовок и файл cpp:

DLLEXPORT.H

__declspec(dllexport) bool setMute();
__declspec(dllexport) bool setActive();

DLLEXPORT.CPP

#include "DLLEXPORT.H"bool setMute(){
//some stuff
}
bool setActive(){
//some stuff
}

Более того, я тоже пытался решить проблему этим решение, но я получил эту ошибку: TlbImp : error TI1002 : The input file '****.dll' is not a valid type library.

1

Решение

В мире Microsoft существуют различные виды DLL (и EXE): собственные DLL, созданные собственными C ++ (или C) и сборки, содержащие исполняемые файлы .NET. Прочитанное вами пошаговое руководство даст вам собственную DLL, в то время как ссылки, которые вы пытаетесь сделать, предназначены только для сборок .NET (и компонентов COM).

Поэтому вам нужно либо создать .NET DLL (которая была бы C ++ / CLI, а не нативной C ++), либо связать вашу нативную DLL с нативным приложением (или импортировать ее) вместо ссылки на нее в проекте .NET.

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector