Есть библиотека
https://github.com/albertodemichelis/squirrel
Готовлю проект для VS 2022, собираются как dll'и с экспортируемыми функциями так и статические *.lib
Проблема в том что в нынешнем виде библиотека не применима в моем случае, мне надо обернуть некоторые функции которые работают с SQChar типом (char/char* или wchar_t/wchar_t*) таким образом чтобы я мог знать размер строк которые получаю и указывать размер строк которые передаю.
Весь экспорт описан в squirrel.h
Создаю проект dll для Winodws,
в свойствах проекта:
в с++ / General / Add. include directories указал пути к include squirrel'а.
в Linker / General / Add. include directories указал путь к папке куда собираются squirrel_static.lib
в Linker / Input/ Additional dependencies указал squirrel_static.lib
и когда собираю свою dll'у она не экспортирует то что описано в squirrel.h вообще ни одной функции.
даже если я скопирую какой-нибудь экспорт в dllmain.cpp:
// dllmain.cpp : Defines the entry point for the DLL application.
#include "pch.h"
#include "squirrel.h"
SQUIRREL_API HSQUIRRELVM sq_open(SQInteger initialstacksize);
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
то в моей dll'е по факту нет экспортируемых функций после сборки.
Хотелось бы чтобы часть функций которые я трогать не буду, сами экспортировались из squirrel.h