Skip to content

Commit

Permalink
Fixed implementation of VariableDeclarationExpression::loadNativeFunc…
Browse files Browse the repository at this point in the history
…tion() for Windows target.
  • Loading branch information
nthnn committed Dec 13, 2024
1 parent ec4368c commit af59628
Showing 1 changed file with 2 additions and 23 deletions.
25 changes: 2 additions & 23 deletions src/n8/ast/expression/VariableDeclarationExpression.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,31 +89,10 @@ NativeFunction VariableDeclarationExpression::loadNativeFunction(
#if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)

std::filesystem::path path(library);
const char* parentPath = path
.parent_path()
.string()
.c_str();
int size = MultiByteToWideChar(
CP_UTF8, 0,
parentPath, -1,
nullptr, 0
);

wchar_t* wfolderPath = new wchar_t[(size_t) size];
MultiByteToWideChar(
CP_UTF8, 0,
parentPath, -1,
wfolderPath,
size
);
std::wstring parentPath(path.parent_path().string().c_str());

handle = LoadLibraryA(library.c_str());
SetDllDirectoryW(wfolderPath);

std::wcout.imbue(std::locale(""));
std::cout << "Loading DLLs from: ";
std::wcout << wfolderPath;
std::cout << std::endl;
SetDllDirectoryW(parentPath.c_str());

#elif defined(__APPLE__)
handle = dlopen(library.c_str(), RTLD_LAZY);
Expand Down

0 comments on commit af59628

Please sign in to comment.