Closed zebra1993 closed 4 months ago
What version of tinyxml is installed?
I am running both latest versions mingw-w64-x86_64-SDL2-2.30.3-1 and mingw-w64-x86_64-tinyxml2-10.0.0-1)
It might be something to do with TinyXML 10. I will try to check tomorrow.
What versions were you usually building with?, can see if i can downgrade and maybe then works?
I am building with TinyXML 10.0.0 as well. Weird. It seems the using namespace tinyxml2
is somehow not working for you, although I can't imagine why.
It looks like tinyxml might not be added to the search path. What is the output of pkg-config
in msys2?
pkg-config --cflags --libs tinyxml2
$ pkg-config --cflags --libs tinyxml2 Package tinyxml2 was not found in the pkg-config search path. Perhaps you should add the directory containing `tinyxml2.pc' to the PKG_CONFIG_PATH environment variable Package 'tinyxml2', required by 'virtual:world', not found
Edit#1 currently trying to find a way to add the link to the config path
Edit#2 did re install tinyxml2 while running mysys in admin mode, did run [ ./configure ] in admin mode aswell, running [ make ] as admin is the same error again
Found this stack overflow: [ # echo $PKG_CONFIG_PATH ] /usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig
tinyxml2.pc is in [ C:\msys64\mingw64\lib\pkgconfig ] which i assume is the [ :/lib/pkgconfig ] at the end?
Just tried the 0.4.5 Tarball-Version, compiles all the way through. Getting the 0.5.0 from the same location, errors out at the usual place.
i did copy the 'lopack' and 'tinyobject' libaries over from 4.5 to 5.0, running [ ./configure ] again didnt change anything though
edit1# just tried the 0.4.5 version, OSC is getting sent when i move the joystick around (visible in protokol).
After running 0.4.5 for a bit,
for what ever reason, -e doesn't return events,
i haven't found a way to load the config for custom controllers (with the 'make install' ed version i get always the error of a not findable config, when running [ ./joyosc.exe test_config.xml ] no complaints are shown but the names of the controllers don't take affect (copied the names by using [ lsjs ]) (and given them js1 and js2 as devicename) where is the normal config expected to be stored? next to the exe or in specific folderpath?
in the config, a axis threshold can be set, is this for all axies or is there a way to only have (i.e.) axis 1 with a dead zone of 4000, but Axis 5 with 100
for the 1st issue, i think ill reinstall mysys2 completely and build the project from scratch the other two are probably fixed after that, maybe? will update.
Edit #1
still open, will keep to look into. trying to get 0.5.0 building tomorrow Can Axis have different thresholds, why no [-e]
Just tried the 0.4.5 Tarball-Version, compiles all the way through. Getting the 0.5.0 from the same location, errors out at the usual place.
Ok, it is a regression with 0.5.0.
i did copy the 'lopack' and 'tinyobject' libaries over from 4.5 to 5.0, running [ ./configure ] again didnt change anything though
They are wrappers around liblo and tinyxml, respectively. Version 0.5.0 removed the need for them as I decided to just use both libs directly and it simplifies the build and install process.
After running 0.4.5 for a bit, ...
Can you open these with separate issues, since this is unrelated to the build error? Also, please wait to test with 0.5.0 when it's working first. I don't have a Windows machine to try things directly.
will open new issue. 👍
Can you try the bugfix/win-build
branch? You will need to check out this repo and generate the configure script by running ./autogen.sh
. For autogen to work, you will need install auto tools, probably ala pacman -S autotools
.
getting this when running ./configure
config.status: error: cannot find input file: 'src/Makefile.in'
then
config.status: error: cannot find input file: 'src/joyosc/Makefile.in'
then
config.status: error: cannot find input file: 'src/lsjs/Makefile.in'
then
config.status: error: cannot find input file: 'src/config.h.in'
i did run ./autogen.sh
before starting configure
did copy the missign files over from 0.5.0, ./configure
is now passing
$ make Making all in lib make[1]: Entering directory '/c/Users/pepper/joyosc-dev/joyosc/lib' make[2]: Entering directory '/c/Users/pepper/joyosc-dev/joyosc/lib' make[2]: No rule to make target 'cpphelpers/Log.h', needed by 'all-am'. Stop. make[2]: Leaving directory '/c/Users/pepper/joyosc-dev/joyosc/lib' make[1]: [Makefile:386: all-recursive] Error 1 make[1]: Leaving directory '/c/Users/pepper/joyosc-dev/joyosc/lib' make: *** [Makefile:458: all-recursive] Error 1
copied the files in lib/cpphelpers
over
make completed. ./joyosc.exe
works, -e
flag doesnt. -> opened an issue
I set up CI (Continuous Integration) builds for Windows and Linux to see what's going on. Now that I can better debug, this should be fixed in the current master branch now.
copied the files in lib/cpphelpers over
This isn't necessary. You need to run git submodule init && git submodule update
to pull those automatically.
In any case, please try the current master
branch.
The full set up & build steps should be simpler now as the autotools package installs most of what's needed and there appears to be a new liblo package:
git clone https://github.com/danomatika/joyosc.git
cd joyosc
git submodule init
git submodule update
pacman -S autotools mingw-w64-x86_64-SDL2 mingw-w64-x86_64-liblo mingw-w64-x86_64-tinyxml2
./autogen.sh
./configure
make
🥳 compile works correctly now.
Thank you ♥
joyosc 0.5.1 is now available and includes these fixes. Please test the new dist tarball. Any new issues can go into a new release.
Good Day everyone Im currently trying to compile joyosc for windows. ive gotten to the make part. the build process does suddenly stop though at this step. I have sdl2 and tinyxml2 installed with MSYS, configure does run cleanly.
Am i missing libaries, have i installed to much things?
[CONSOLE OUTPUT: (cut down to the none working part] Making all in joyosc make[3]: Entering directory '/c/Users/pepper/joyosc/src/joyosc' g++ -DHAVE_CONFIG_H -I. -I../../src -IC:/msys64/mingw64/include/SDL2 -Dmain=SDL_main -I../../lib/cpphelpers -g -O2 -MT Config.o -MD -MP -MF .deps/Config.Tpo -c -o Config.o Config.cpp Config.cpp: In member function 'bool Config::loadXMLFile(const std::string&)': Config.cpp:183:9: error: reference to 'XMLDocument' is ambiguous 183 | XMLDocument doc = new XMLDocument; | ^' argument given to 'delete', expected pointer
240 | if(doc) {delete doc;}
| ^' argument given to 'delete', expected pointer
244 | if(doc) {delete doc;}
| ^
~~In file included from Config.h:33, from Config.cpp:23: C:/msys64/mingw64/include/tinyxml2.h:1720:20: note: candidates are: 'class tinyxml2::XMLDocument' 1720 | class TINYXML2_LIB XMLDocument : public XMLNode | ^~~In file included from C:/msys64/mingw64/include/urlmon.h:458, from C:/msys64/mingw64/include/objbase.h:163, from C:/msys64/mingw64/include/ole2.h:17, from C:/msys64/mingw64/include/wtypes.h:13, from C:/msys64/mingw64/include/winscard.h:10, from C:/msys64/mingw64/include/windows.h:97, from C:/msys64/mingw64/include/winsock2.h:23, from C:/msys64/mingw64/include/lo/lo_endian.h:24, from C:/msys64/mingw64/include/lo/lo.h:28, from Config.h:31: C:/msys64/mingw64/include/msxml.h:300:27: note: 'typedef class XMLDocument XMLDocument' 300 | typedef class XMLDocument XMLDocument; | ^~~Config.cpp:183:22: error: 'doc' was not declared in this scope 183 | XMLDocument doc = new XMLDocument; | ^~~ Config.cpp:183:32: error: reference to 'XMLDocument' is ambiguous 183 | XMLDocument *doc = new XMLDocument; | ^~~C:/msys64/mingw64/include/tinyxml2.h:1720:20: note: candidates are: 'class tinyxml2::XMLDocument' 1720 | class TINYXML2_LIB XMLDocument : public XMLNode | ^~~C:/msys64/mingw64/include/msxml.h:300:27: note: 'typedef class XMLDocument XMLDocument' 300 | typedef class XMLDocument XMLDocument; | ^~~Config.cpp:240:18: error: type '~~~~~ Config.cpp:244:18: error: type '~~~~~ make[3]: [Makefile:476: Config.o] Error 1 make[3]: Leaving directory '/c/Users/pepper/joyosc/src/joyosc' make[2]: [Makefile:385: all-recursive] Error 1 make[2]: Leaving directory '/c/Users/pepper/joyosc/src' make[1]: [Makefile:324: all] Error 2 make[1]: Leaving directory '/c/Users/pepper/joyosc/src' make: [Makefile:460: all-recursive] Error 1