kenz-gelsoft / wxRust2

re-exploration Rust binding to wx
MIT License
78 stars 10 forks source link

Steps for building on windows? #80

Closed emperor-limitless closed 2 years ago

emperor-limitless commented 2 years ago

Hi So I'm trying to build the hello sample on windows, Did set the wxwin env variable using a config.toml to the wx folder that comes with the repo that includes the dll's, Like this config.toml: ``[env] wxwin = { value = "../../wx", relative = true }

`` However

`error: failed to run custom build command forwx v0.1.0 (C:\Users\mohamed\projects\wxRust2\wx-core)`

Caused by: process didn't exit successfully: C:\Users\mohamed\projects\wxRust2\target\release\build\wx-52bbc0a6332a18a0\build-script-build (exit code: 1) --- stdout TARGET = Some("x86_64-pc-windows-msvc") OPT_LEVEL = Some("3") HOST = Some("x86_64-pc-windows-msvc") CXX_x86_64-pc-windows-msvc = None CXX_x86_64_pc_windows_msvc = None HOST_CXX = None CXX = None CXXFLAGS_x86_64-pc-windows-msvc = None CXXFLAGS_x86_64_pc_windows_msvc = None HOST_CXXFLAGS = None CXXFLAGS = None CRATE_CC_NO_DEFAULTS = None CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") DEBUG = Some("false") CXX_x86_64-pc-windows-msvc = None CXX_x86_64_pc_windows_msvc = None HOST_CXX = None CXX = None CXXFLAGS_x86_64-pc-windows-msvc = None CXXFLAGS_x86_64_pc_windows_msvc = None HOST_CXXFLAGS = None CXXFLAGS = None CRATE_CC_NO_DEFAULTS = None CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") CXX_x86_64-pc-windows-msvc = None CXX_x86_64_pc_windows_msvc = None HOST_CXX = None CXX = None CXXFLAGS_x86_64-pc-windows-msvc = None CXXFLAGS_x86_64_pc_windows_msvc = None HOST_CXXFLAGS = None CXXFLAGS = None CRATE_CC_NO_DEFAULTS = None CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") CXX_x86_64-pc-windows-msvc = None CXX_x86_64_pc_windows_msvc = None HOST_CXX = None CXX = None CXXFLAGS_x86_64-pc-windows-msvc = None CXXFLAGS_x86_64_pc_windows_msvc = None HOST_CXXFLAGS = None CXXFLAGS = None CRATE_CC_NO_DEFAULTS = None CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") CXX_x86_64-pc-windows-msvc = None CXX_x86_64_pc_windows_msvc = None HOST_CXX = None CXX = None CXXFLAGS_x86_64-pc-windows-msvc = None CXXFLAGS_x86_64_pc_windows_msvc = None HOST_CXXFLAGS = None CXXFLAGS = None CRATE_CC_NO_DEFAULTS = None CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") running: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\bin\HostX64\x64\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "C:\Users\mohamed\projects\wxRust2\samples\hello\../../wx\include" "-I" "C:\Users\mohamed\projects\wxRust2\samples\hello\../../wx\lib\vc14x_x64_dll\mswu" "-I" "include" "-W4" "/EHsc" "-DWXUSINGDLL=" "-DNO_VC_CRTDBG=" "-DwxDEBUG_LEVEL=0" "-DNDEBUG=" "-FoC:\Users\mohamed\projects\wxRust2\target\release\build\wx-7d5de0ba4c8730f8\out\src/manual.o" "-c" "src/manual.cpp" manual.cpp src/manual.cpp(1): fatal error C1083: Cannot open include file: 'wx/ctrlsub.h': No such file or directory exit code: 2

--- stderr

error occurred: Command "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\bin\HostX64\x64\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "C:\Users\mohamed\projects\wxRust2\samples\hello\../../wx\include" "-I" "C:\Users\mohamed\projects\wxRust2\samples\hello\../../wx\lib\vc14x_x64_dll\mswu" "-I" "include" "-W4" "/EHsc" "-DWXUSINGDLL=" "-DNO_VC_CRTDBG=" "-DwxDEBUG_LEVEL=0" "-DNDEBUG=" "-FoC:\Users\mohamed\projects\wxRust2\target\release\build\wx-7d5de0ba4c8730f8\out\src/manual.o" "-c" "src/manual.cpp" with args "cl.exe" did not execute successfully (status code exit code: 2).

warning: build failed, waiting for other jobs to finish... error: build failed

`` I'm probably missing a bunch of configuration steps, But it's hard to figure them out, So is there a configuration manual somewhere?

emperor-limitless commented 2 years ago

Ok, My problem, Used a wrong wx version for binaries. Now for figuring out the linker errors that asks for non-existing libraries in the release.

emperor-limitless commented 2 years ago

Managed to build samples on windows, Needed a bunch of .lib file copying and renaming for some odd reason, But it seems to work.

kenz-gelsoft commented 2 years ago

Thank you for trying my project and feedback.

Sorry for inconvenience, I planned to write some docs to try this project when it reaches somewhat usable state (c.f. some basic widgets generated and small usable app can be built on it).

GitHub workflow config shows how to build for macOS/Linux, but not for windows yet (didn't equip GitHub Actions CI for windows is yet another TODO).