I build wxWidgets and/or my application using:
brew install wxwidgets dylibbundler create-dmg
- name: Generate Makefile run: cmake . -DCMAKE_BUILD_TYPE=Release env: CXX: g++-15
I don't know if you are managing the homebrew package, but when installing and linking against wxWidgets in github actions (runner MacOS 15.5 ARM64), linking fails with the following error:
[100%] Linking CXX executable ../CeDImu
Undefined symbols for architecture arm64:
"non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)", referenced from:
vtable for GenericList in CPUViewer.cpp.o
ld: symbol(s) not found for architecture arm64
collect2: error: ld returned 1 exit status
The run job that failed: https://github.com/Stovent/CeDImu/actions/runs/17665398427/job/50206068864
my GenericList file that references the function: GenericList.hpp
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
We don't maintain any packages, including Homebrew ones, so I'm not sure what's going on here. The "missing" function should indeed be part of the library, normally, please run objdump (or whatever is its equivalent under macOS) to check what's going on with it.
Also try building without LTO just in case it's a bug related to it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
Thanks, unfortunately removing LTO doesn't fix it. In which library is the GenericCtrlList compiled in? Maybe I haven't linked the correct libraries.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
Based on your GitHub action history, this seems to be caused by using GCC instead of AppleClang, and/or different compile options (c++26?). It is probably incompatible with the libraries built by homebrew.
You could also try adding a destructor to your class and/or implement all non-pure functions, see the last chapter in https://gcc.gnu.org/faq.html#vtables
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
After a few discussions on homebrew's github, it seemed this was because homebrew uses AppleClang to compile, which may not be totally compatible with GCC. I switched to LLVM clang to build my code on mac and I successfully linked against AppleClangs compiled wxWidgets
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
Closed #25793 as completed.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.