Как использовать .dll в vscode, когда .dll — единственный доступный файл (без .lib, без .hpp)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как использовать .dll в vscode, когда .dll — единственный доступный файл (без .lib, без .hpp)

Сообщение Anonymous »

Я пытался создать проект и использовать пару сторонних файлов .dll, у которых нет соответствующих файлов .hpp или .lib.
Существует рабочий шаблон из VStudio, который импортирует эти библиотеки DLL в заголовок файл и включите этот заголовок в другой исходный файл. Код показан ниже:

Код: Выделить всё

#pragma once

// Exclude rarely-used stuff from Windows headers
#define VC_EXTRALEAN

// MFC core and standard components
#include 

// MFC extensions
#include 

//Import files are found in Program Files\Olympus NDT\FocusData 1.0. Add this directory to
//the C++ Additional Include Directories in project settings
#import "FocusDefinition.dll"
#import "FocusDataFile.dll"
#import "FocusData.dll"

//To apply XP visual style
#if _MSC_VER > 1200
#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif
#endif
Я провел небольшое исследование и показал, что в этой ситуации #import автоматически создаст необходимые заголовки и файлы lib. Моя Цель — выполнить ту же работу, но в vscode. Поэтому я написал:

Код: Выделить всё

#include 
#define VC_EXTRALEAN
#import "FocusDefinition.dll"
#import "FocusDataFile.dll"
#import "FocusData.dll"

#if _MSC_VER > 1200
#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif
#endif
using namespace std;

int main()
{
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78754851/how-to-use-dll-in-vscode-when-dll-is-the-only-file-available-no-lib-no-hpp[/url]
Ответить

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

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

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

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

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