kenz-gelsoft / wxRust2

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

Depends on vendored crates through newly created git-hosted wxrust-vendored-config crate #166

Closed kenz-gelsoft closed 1 year ago

kenz-gelsoft commented 1 year ago

Closes #162


TODO:

kenz-gelsoft commented 1 year ago

@ancwrd1 Thank you for merging PRs.

BTW, as this run https://github.com/kenz-gelsoft/wxRust2/actions/runs/3001501843,

Only mingw64 binaries can't be linked correctly, log: https://github.com/kenz-gelsoft/wxRust2/runs/8210817400?check_suite_focus=true

Are there any change on build toolchain for that binary?

ancwrd1 commented 1 year ago

Uhm, this looks like a weird mix of gnu and msvc.

D:\a\wxRust2\wxRust2\target\x86_64-pc-windows-gnu\debug\deps\libwxrust_base-da3706a2162f51f6.rlib(manual.o): in function `wxMBConv::~wxMBConv()':

          C:/Users/runneradmin/.cargo/git/checkouts/wx-x86_64-pc-windows-msvc-2e8cedf9f53610ca/d822155/include/wx/strconv.h:173: undefined reference to `__imp__ZTV8wxMBConv'
ancwrd1 commented 1 year ago

I've updated wxWidgets to 3.2.0, for -gnu version used mingw gcc 12.2.0.

kenz-gelsoft commented 1 year ago

Uhm, this looks like a weird mix of gnu and msvc.

Thank you for catching this. By depending on both crate and it runs build.rs of them which print out cargo output may cause this.

I'll look at this tomorrow (it's time to sleep. good night!)

kenz-gelsoft commented 1 year ago

OK, I found the cause of this bustage. This PR moves deps on vendored crates to build-dependency.

So platform specific dependency was resolved based on the host's target. Currently CI for mingw64 build uses cross (toolchain) compiling as this affected only the mingw64 build.

kenz-gelsoft commented 1 year ago

It seems to require the placeholder crate on the (runtime) dependency as I noted as an alternative approch in https://github.com/kenz-gelsoft/wxRust2/issues/162#issuecomment-1234921823 .

kenz-gelsoft commented 1 year ago

Build and README are fixed.