I ended up with using long everywhere. Unfortunately, the code still uses Linux specific code (i.e. the functions pipe and fcntl). I could leave the code unchanged using the _pipe Windows function with a define:
Code: Select all
#ifdef _WIN32
#define pipe(fds) _pipe(fds, 4096, _O_BINARY)
#endif
Now, there is still the fcntl function to take care of. This is the error now:
Code: Select all
[ 70%] Building CXX object muse/driver/CMakeFiles/driver.dir/qttimer.obj
E:\msys64\usr\src\muse\muse3\muse\driver\qttimer.cpp: In member function 'virtual int MusECore::QtTimer::initTimer()':
E:\msys64\usr\src\muse\muse3\muse\driver\qttimer.cpp:65:32: error: 'F_SETFL' was not declared in this scope
int rv = fcntl(filedes[1], F_SETFL, O_NONBLOCK);
^~~~~~~
E:\msys64\usr\src\muse\muse3\muse\driver\qttimer.cpp:65:41: error: 'O_NONBLOCK' was not declared in this scope
int rv = fcntl(filedes[1], F_SETFL, O_NONBLOCK);
^~~~~~~~~~
E:\msys64\usr\src\muse\muse3\muse\driver\qttimer.cpp:65:41: note: suggested alternative: 'ENOTSOCK'
int rv = fcntl(filedes[1], F_SETFL, O_NONBLOCK);
^~~~~~~~~~
ENOTSOCK
E:\msys64\usr\src\muse\muse3\muse\driver\qttimer.cpp:65:14: error: 'fcntl' was not declared in this scope
int rv = fcntl(filedes[1], F_SETFL, O_NONBLOCK);
^~~~~
E:\msys64\usr\src\muse\muse3\muse\driver\qttimer.cpp:65:14: note: suggested alternative: 'fcvt'
int rv = fcntl(filedes[1], F_SETFL, O_NONBLOCK);
^~~~~
fcvt
mingw32-make[2]: *** [muse\driver\CMakeFiles\driver.dir\build.make:109: muse/driver/CMakeFiles/driver.dir/qttimer.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:1867: muse/driver/CMakeFiles/driver.dir/all] Error 2
mingw32-make: *** [Makefile:151: all] Error 2