Fixes on MacOS

This commit is contained in:
Prusa Research a.s 2022-07-27 11:22:20 +02:00 committed by Lukas Matena
parent 88ba89dbbc
commit 7d3f0b4b32
2 changed files with 8 additions and 2 deletions

View file

@ -21,6 +21,8 @@ LoadStepFn get_load_step_fn()
{
static LoadStepFn load_step_fn = nullptr;
constexpr const char* fn_name = "load_step_internal";
if (!load_step_fn) {
#ifdef _WIN32
HMODULE module = LoadLibraryW(L"OCCTWrapper.dll");
@ -28,7 +30,6 @@ LoadStepFn get_load_step_fn()
throw Slic3r::RuntimeError("Cannot load OCCTWrapper.dll");
try {
const char* fn_name = "load_step_internal";
FARPROC farproc = GetProcAddress(module, fn_name);
if (! farproc) {
DWORD ec = GetLastError();
@ -47,7 +48,12 @@ LoadStepFn get_load_step_fn()
load_step_fn = reinterpret_cast<LoadStepFn>(dlsym(plugin_ptr, "load_step_internal"));
if (!load_step_fn) {
dlclose(plugin_ptr);
throw Slic3r::RuntimeError("Cannot load function from OCCTWrapper.so");
}
} else {
throw Slic3r::RuntimeError(
std::string("Cannot load function from OCCTWrapper.dll: ") +
fn_name + "\n\nError code: " + dlerror());
}
#endif
}

View file

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.13)
project(OCCTWrapper)
add_library(OCCTWrapper SHARED OCCTWrapper.cpp)
add_library(OCCTWrapper MODULE OCCTWrapper.cpp)
set_target_properties(OCCTWrapper
PROPERTIES