Closed Jamaika1 closed 2 years ago
uvg266 uses pthreads, which is present in any Unix based platform (including MinGW and derivatives) but not on native Windows which is why we created https://github.com/ultravideo/ThreadWrapper as a minimal implementation of pthreads so that we no longer needed a third party dependency to a pthreads library.
If you are on Unix based system you should use the platform supplied pthreads.
In practice we have only used our built-in pthread wrapper with visual studio like the CMakeLists.txt does currently: https://github.com/ultravideo/uvg266/blob/master/CMakeLists.txt#L119
I already know what I didn't know. I used c11. Should be c++11 for library merge
c:/msys1201/bin/../lib/gcc/x86_64-w64-mingw32/12.0.1/../../../../x86_64-w64-mingw32/bin/ld.exe: pthread.o:pthread.cpp:(.xdata+0x94): undefined reference to `__gxx_personality_seh0'
I wonder what are pthread.cpp and semaphore.cpp for? I compiled the add-ons in C++11 and was unable to merge the codec. I had to use libpthread. Is that good thinking?