Added /bigobj (Increase Number of Sections in .Obj file)

Fixed external declaration of slic3r_main()
This commit is contained in:
bubnikv 2018-10-26 18:08:43 +02:00
parent 135ee60db4
commit de55a60bf5
2 changed files with 11 additions and 4 deletions

View File

@ -27,9 +27,13 @@ option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 1)
option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1) option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1)
option(SLIC3R_PERL_XS "Compile XS Perl module and enable Perl unit and integration tests" 0) option(SLIC3R_PERL_XS "Compile XS Perl module and enable Perl unit and integration tests" 0)
if (MSVC AND SLIC3R_MSVC_COMPILE_PARALLEL) if (MSVC)
if (SLIC3R_MSVC_COMPILE_PARALLEL)
add_compile_options(/MP) add_compile_options(/MP)
endif () endif ()
# /bigobj (Increase Number of Sections in .Obj file)
add_compile_options(-bigobj)
endif ()
# CMAKE_PREFIX_PATH is used to point CMake to the remaining dependencies (Boost, TBB, ...) # CMAKE_PREFIX_PATH is used to point CMake to the remaining dependencies (Boost, TBB, ...)
# We pick it from environment if it is not defined in another way # We pick it from environment if it is not defined in another way

View File

@ -175,7 +175,10 @@ protected:
} }
}; };
extern "C" {
typedef int (__stdcall *Slic3rMainFunc)(int argc, wchar_t **argv); typedef int (__stdcall *Slic3rMainFunc)(int argc, wchar_t **argv);
Slic3rMainFunc slic3r_main = nullptr;
}
#ifdef SLIC3R_WRAPPER_NOCONSOLE #ifdef SLIC3R_WRAPPER_NOCONSOLE
int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, wchar_t *lpCmdLine, int nCmdShow) int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, wchar_t *lpCmdLine, int nCmdShow)
@ -224,7 +227,7 @@ int wmain(int argc, wchar_t **argv)
} }
// resolve function address here // resolve function address here
Slic3rMainFunc slic3r_main = (Slic3rMainFunc)GetProcAddress(hInstance_Slic3r, "slic3r_main"); slic3r_main = (Slic3rMainFunc)GetProcAddress(hInstance_Slic3r, "slic3r_main");
if (slic3r_main == nullptr) { if (slic3r_main == nullptr) {
printf("could not locate the function slic3r_main in slic3r.dll\n"); printf("could not locate the function slic3r_main in slic3r.dll\n");
return -1; return -1;