Closed mxmssh closed 6 years ago
It looks like we have the following definition for destructor in solverModel.hpp:
virtual ~SolverModel();
and we don't have implementation for destructor in Ponce, so, it would not be possible to compile.
Actually, Triton has fix for this problem in later commits. We have this problem because we use old version of Triton. So, the possible solution would be the following: 1) Update Triton -> Update Ponce to support updated Triton -> compile -> test in all version of IDA -> close issue 2) Fork Triton (unlink from Triton's git repo) -> remove virtual destructor -> close issue
Looks like we simply need to update our Triton version and fix Ponce accordingly.
We use Triton version Feb 9 2016, the latest one is Dec 2017. Two years of changes, it would be really painfull to update everything. Need some other solution.
The only way to do it in a reasonable time is to fork Triton, we can still pull all required changes in future when we decide to update Ponce (right now the simple fix would work fine).
Resolved.
Getting the following error when I try to compile Ponce in Visual Studio 2013.
1> utils.cpp 1> Creating library C:\PonceProject\builds\PonceBuild\Win32\Ponce_x86_IDA68_win.lib and object C:\PonceProject\builds\PonceBuild\Win32\Ponce_x86_IDA68_win.exp 1>utils.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall triton::engines::solver::SolverModel::~SolverModel(void)" (??1SolverModel@solver@engines@triton@@UAE@XZ) 1>C:\PonceProject\builds\PonceBuild\Win32\Ponce_x86_IDA68_win.plw : fatal error LNK1120: 1 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========