angr / vex

A patched version of VEX to work with PyVEX.
GNU General Public License v2.0
104 stars 44 forks source link

when compiling vex with mingw32-X64, every out file in a file has a function added by compiler-__debugbreak() #4

Closed wapen closed 7 years ago

wapen commented 7 years ago

I had compiled vex with mingw32-x64, but when complie the files in pyvex_c of pyvex.dll, there is always a error, multi define of debugbreak(). Then i find that almost every out file in the libvex.dll has a function added by compiler,it is debugbreak(). Before v5.6.8.22, that try to compile vex, pyvex with MSVC, with some changes of makefile and some "Assertion" in C files, i can get pyvex.dll with mingw32-x64, but now it seems a little more difficult. So can the new version of angr works with the old version of pyvex well?

rhelmot commented 7 years ago

Pyvex and angr need to have the same version. There were some breaking API changes made very recently, so old angr can't work with new pyvex, and old pyvex can't work with new angr.

I will look into fixing the mingw and MSVC builds. They aren't really tested, unfortunately...

wapen commented 7 years ago

@rhelmot thanks for your efforts, angr is very great.

rhelmot commented 7 years ago

ok! so I pushed a bunch of stuff to vex and pyvex and now I've successfully gotten pyvex to install when built with either msvc or mingw gcc. Let me know if what's on github works for you.

wapen commented 7 years ago

Nice. It works well with mingw now, thanks. when I use the MS visual C++ compiler package for Python2.7 with the complier version 15.0. with the CMD line, it does not support C99 std well, the C++ features do not pass the cl command, like the definition of variables can be anywhere before use, MSVC just suppose C88. I just begun trying to use github, it is pleasure to share my works with all guys, I will try to post my work on it later.

rhelmot commented 7 years ago

VEX was never meant to be built on MSVC, period. I've gotten it to build there through a series of hacks, but with a million warnings. There's no need for you to fix it if you don't want :)