eteran/edb-debugger

Windows build error

Neizvestnyj opened this issue · 1 comments

  • I downloaded QT 5.14.2 and added it to the environment variables D:\Programs\Qt\5.14.2\msvc2017_64.
  • After that, I built capstone 5.0.1 and renamed capstone.lib to capstone_dll.lib in the lib folder.
  • Downloaded Graphviz.
  • Add to FindCapstone.cmake set(CAPSTONE_SDK "C:\\Program Files (x86)\\capstone")
git clone https://github.com/eteran/edb-debugger.git
cd edb-debugger
mkdir build
cd build
cmake ..

Output:

cmake -G "Visual Studio 17" ..
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.19045.
-- The CXX compiler identification is MSVC 19.35.32217.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: C:/Program Files/Git/mingw64/bin/git.exe (found version "2.42.0.windows.2")
-- Checking for module 'double-conversion'
-- Looking for C++ include double-conversion/double-conversion.h
-- Looking for C++ include double-conversion/double-conversion.h - not found
CMake Warning at CMakeLists.txt:49 (message):
  libdouble-conversion header wasn't found.  32- and 64-bit floating-point
  values will be shown with max_digits10 digits of precision instead of
  shortest representation.


-- The ASM_MASM compiler identification is MSVC
-- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/ml64.exe
-- Using default value of EDB Plugin directory
-- Configuring done (3.4s)
-- Generating done (0.8s)
-- Build files have been written to: C:/Users/pikro/Downloads/edb-debugger/build

Then:

cmake --build . --config Release

And I get error, why?

MSBuild version 17.5.1+f6fdcf537 for .NET Framework

  1>Checking Build System
  Automatic MOC and UIC for target edb
  1>
  Generating qrc_debugger.cpp
  Generating qrc_themes.cpp
  Generating qrc_breeze-edb.cpp
  Generating qrc_breeze-dark-edb.cpp
  Generating edb_zh_CN.qm
  Updating 'C:/Users/pikro/Downloads/edb-debugger/build/src/edb_zh_CN.qm'...
      Generated 323 translation(s) (319 finished and 4 unfinished)
      Ignored 123 untranslated source text(s)
  Building Custom Rule C:/Users/pikro/Downloads/edb-debugger/src/CMakeLists.txt
  Generating qrc_translations.cpp
  Assembling C:\Users\pikro\Downloads\edb-debugger\src\LongDoubleX86.asm...
MASM : warning A4018: invalid command-line option : /safeseh [C:\Users\pikro\Downloads\edb-debugger\build\src\edb.vcxproj]
MASM : fatal error A1000: cannot open file : Files [C:\Users\pikro\Downloads\edb-debugger\build\src\edb.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\BuildCustomizations\masm.targets(70,5): error MSB3721: выход из команды "ml64.exe /c /nologo /safeseh /Fo"edb.dir\Release\LongDoubleX86.obj" /D"WIN32" /D"_WINDOWS" /D"NDEBUG" /D"DEFAULT_PLUGIN_PATH="C:/Program Files (x86)/edb/lib/edb"" /D"UNICODE" /D"_UNICODE" /D"_CRT_SECURE_NO_WARNINGS" /D"EDB_IS_32_BIT=false" /D"EDB_IS_64_BIT=true" /D"EDB_X86_64" /D"QT_WIDGETS_LIB" /D"QT_GUI_LIB" /D"QT_CORE_LIB" /D"QT_NO_DEBUG" /D"QT_XML_LIB" /D"QT_XMLPATTERNS_LIB" /D"QT_NETWORK_LIB" /D"QT_SVG_LIB" /D"CMAKE_INTDIR="Release"" /D"edb_EXPORTS" /I "C:\Users\pikro\Downloads\edb-debugger\build\src" /I "C:\Users\pikro\Downloads\edb-debugger\src" /I "C:\Users\pikro\Downloads\edb-debugger\build\src\edb_autogen\include_Release" /I "C:\Users\pikro\Downloads\edb-debugger\build\include" /I "C:\Program Files (x86)\capstone\include" /I "C:\Users\pikro\Downloads\edb-debugger\include" /I "C:\Users\pikro\Downloads\edb-debugger\include\os\win32" /I "C:\Users\pikro\Downloads\edb-debugger\include\arch\x86-generic" /I "C:\Users\pikro\Downloads\edb-debugger\src\capstone-edb" /I "C:\Users\pikro\Downloads\edb-debugger\src\qhexview" /I "C:\Users\pikro\Downloads\edb-debugger\src\widgets" /I "C:\Users\pikro\Downloads\edb-debugger\src\session" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include\QtWidgets" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include\QtGui" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include\QtANGLE" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include\QtCore" /I "D:\Programs\Qt\5.14.2\msvc2017_64\.\mkspecs\win32-msvc" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include\QtXml" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include\QtXmlPatterns" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include\QtNetwork" /I "D:\Programs\Qt\5.14.2\msvc2017_64\include\QtSvg" /W3 /errorReport:prompt  /machine:x64 /Ta"C:\Users\pikro\Downloads\edb-debugger\src\LongDoubleX86.asm"" с кодом "1". [C:\Users\pikro\Downloads\edb-debugger\build\src\edb.vcxproj]

Excellent question, the windows build is not quite functional yet. At the moment, Linux is the only supported platform that is expected to work. We'd love to improve this, but we aren't quite there yet.