here I have some thinking, I dont know if mine is right.
In Linux, if I set -DCMAKE_INSTALL_PREFIX while building, the program will be installed in a absolute path.
If I move the path to another path, the program cannot find gamedata, so an error display:
Resource with name CONFIG/FILESYSTEM and type TEXT wasn't found.
terminate called after throwing an instance of 'std::runtime_error'
what(): Resource with name CONFIG/FILESYSTEM and type TEXT wasn't found.
thus, you can create a vcmi.sh in root path of program,then add these codes:
Then if you run vcmi.sh, the terminal display
xiaoji@debian:~/桌面/vcmi$ sh vcmi.sh
Creating console and configuring logger: 5
The log file will be saved to "/home/xiaoji/.cache/vcmi/VCMI_Client_log.txt"
Data loading: 2
Mod handler: 0
Mod filesystems: 10
Basic initialization: 20
Initialized logging system based on settings successfully.
Error: Heroes III data was not found!
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument