Closed SteveRussell33 closed 1 year ago
Thanks Steve. I believe Inkscape changed the way it does batch command processing. I have been using v1.1.2. I need to find a new incantation for later versions. For now, all the .svg files are pre-built and available in the repository. Your commenting out the svg target works (as long as you aren't changing the source).
For the linkage problem, I did clean build without issue. I cloned the repository and built without issue. So it must be environmental.
I suspect I am doing something wrong in that class, and the new compiler is being more strict. I will need to install a new build environment for that (harder than adding an SDK). And will need to read some articles starting at https://stackoverflow.com/questions/3065154/undefined-reference-to-vtable
For now, I have removed the gate classes and the one module (VCASR - combined VCA and ASR envelope) that used those gate classes. This builds and runs for me on all the same combinations I mention above, but ... I don't have your combination.
Understood, thanks for the reply. I'll check out that SO article later as I'm still not up with C++ OOP and will use this as a learning experience.
Keeping MSYS up to date is something I do at least once a week by using pacman -Syuu
so that's why I'm on GCC v13. I also have undated Inkscape to the latest v1.3 as it was starting to lag using it on my machine.
If I come up with a fix, I'll note it here and may do a PR if successful.
Hi Stephan, Having read the SO article I've fixed this:
I added void GateBase::process() {}
to GateBase.cpp
as it's the only member function that wasn't defined.
Build success! (This works with GCC v13.2 - updated today)
g++ -std=c++11 -Wsuggest-override -Isrc -Isrc/common -Isrc/components -fPIC -I../../include -I../../dep/include -MMD -MP -g -Og -funsafe-math-optimizations -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -DARCH_X64 -march=nehalem -DARCH_WIN -D_USE_MATH_DEFINES -municode -c -o build/src/common/GateBase.cpp.o src/common/GateBase.cpp
g++ -o plugin.dll build/src/plugin.cpp.o build/src/modules/Comps.cpp.o build/src/modules/Merge.cpp.o build/src/modules/ProbS.cpp.o build/src/modules/Quant.cpp.o build/src/modules/SandH.cpp.o build/src/modules/Split.cpp.o build/src/modules/Steps.cpp.o build/src/modules/VCASR.cpp.o build/src/common/Gate.cpp.o build/src/common/GateBase.cpp.o build/src/common/LcdDisplayWidget.cpp.o build/src/common/ManualGate.cpp.o build/src/common/Scale.cpp.o build/src/common/Settings.cpp.o build/src/common/Theme.cpp.o build/src/common/Themes.cpp.o build/src/common/Utilities.cpp.o -shared -L../.. -lRack -static-libstdc++
rm -rf dist
mkdir -p dist/2LiftStudios
cp plugin.dll dist/2LiftStudios/
strip -s dist/2LiftStudios/plugin.dll
cp -r --parents res/common res/dark res/light LICENSE presets plugin.json dist/2LiftStudios/
cd dist && tar -c 2LiftStudios | zstd -19 -o "2LiftStudios"-"2.0.0"-win-x64.vcvplugin
/*stdin*\ : 14.38% ( 1.15 MiB => 170 KiB, 2LiftStudios-2.0.0-win-x64.vcvplugin)
Thanks Steve. I get, now, why those are required. I will have to read up to see if C++ has the concept of abstract methods, where the base class does not have an implementation, which forces the dependent classes to add one.
All checked-in. Thanks to you in the comments. I tried to add you as co-author but it didn't take (maybe because you aren't a part of the project).
No worries, glad to help.
On the last point I think you have to add someone as a contributor, not 100% on that though.
I'll close this now.
Hi, Tried to build locally (commented out
svg
inMakefile
as Inkscape stage gave this error, even though I have it installed)make dist
then failed with this error