Jump to content

[SOLVED] 2.18 to 2.19.1 migrating engine init error.


photo

Recommended Posts

Posted (edited)
I'm migrating the engine version from 2.18 to 2.19.1.
However, I've encountered a problem.

I'm trying to use the engine using InitParameters in version 2.19.1.
The engine initialization logic below is loaded normally in 2.18.
However, an error occurs in 2.19.

================================================================

std::vector<std::string> args = {
"temporary.exe",
"-data_path", ".\\data",
"-video_app", "dx",
"-engine_config", ".\\data\\unigine.cfg",
"-extern_define", "MENU_USER,MOUSE_USER",
"-console_command", "world_load \"basic_world_0.world\""
};

std::vector<char*> argv; 
for (auto& arg : args) 
argv.push_back(const_cast<char*>(arg.c_str())); 

int argc = static_cast<int>(argv.size()); 

Unigine::Engine::InitParameters init_params; 
init_params.system_proxy = &systemProxyKovi; 
init_params.window_title = "temporary"; 

this->m_KOVIEngine = Unigine::Engine::init(init_params, argc, argv.data());

================================================================

The following is the call stack information where the error occurs.

     Unigine_x64d.dll!std::_Mutex_base::lock() 줄 52    C++
     Unigine_x64d.dll!std::unique_lock<std::mutex>::{ctor}(std::mutex &) 줄 144    C++
     Unigine_x64d.dll!Unigine::Thread::signal() 줄 197    C++
     Unigine_x64d.dll!Unigine::Thread::run(unsigned __int64 size) 줄 163    C++
     Unigine_x64d.dll!Unigine::PoolCPUShaders::internal_init() 줄 577    C++
     Unigine_x64d.dll!Engine::init(SystemProxy * system_proxy, const char * window_title, const char * window_icon_path, const char * app, const char * home, int argc, char * * argv, const char * project, const char * password) 줄 1200    C++
     Unigine_x64d.dll!Engine::engineInit(SystemProxy * system_proxy, const char * window_title, const char * window_icon, const char * app_path, const char * home_path, int argc, char * * argv, const char * project, const char * password) 줄 506    C++
     Unigine_x64d.dll!Unigine::EngineInterface::EngineInterface(SystemProxy * system_proxy, const char * window_title, const char * window_icon_path, const char * app_path, const char * home_path, int argc, char * * argv, const char * project, const char * password) 줄 129    C++
     Unigine_x64d.dll!Unigine::Engine_internal_init(int compilation_flags, Unigine::CustomSystemProxy * system_proxy, const char * window_title, const char * window_icon_path, const char * app_path, const char * home_path, const char * project, const char * password, int argc, char * * argv) 줄 418    C++
     KVXmoduleKitD.dll!Unigine::Engine::init(const Unigine::Engine::InitParameters & init_parameters, int argc, char * * argv) 줄 117    C++
    KVXmoduleKitD.dll!kvx::video::CUnigineEngine::initDriver(const kvx::core::dimension2d<int> & screenSize, HWND__ * hwnd, unsigned int bits, bool fullScreen, bool pureSoftware, bool vsync, bool antiAlias) 줄 266    C++

========================================================================

visual studio 2019 // c++ 17

I need help.

 

Edited by bboguni
Posted

Hello!

Try to update Microsoft Visual C++ redistributable package to the latest version: https://aka.ms/vs/17/release/vc_redist.x64.exe (14.40+ is required).

Also, please make sure that engine is loading new version of visual studio runtime dlls from the C:\Windows\System32. Sometimes it can load old version (like 14.29) from different location and crash.

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Posted

It works perfectly. Thank you very much!!

  • Like 1
  • silent changed the title to [SOLVED] 2.18 to 2.19.1 migrating engine init error.
×
×
  • Create New...