leadedge / ofxNDI

An Openframeworks addon to allow sending and receiving images over a network using the NewTek Network Device Protocol.
GNU General Public License v3.0
134 stars 48 forks source link

Issues when compiling for macOs and Linux #17

Closed dimitre closed 3 years ago

dimitre commented 3 years ago

I'm having issues both in linux and macOs, using both master and testing branch. there is one endl::endl which I think it is a typo. both systems complains about NULL NULL was not declared in this scope in different places. I had to use this line to fix

#include <cstddef>

and trying to solve both brings std::floor issue, and I finished compiling adding

#include <math.h>

and using just floor.

I can submit a PR if some of this 'fixes' are ok. Cheers

dimitre commented 3 years ago

with this changes it is now compiling in macOS and Ubuntu, I've pushed the updates to https://github.com/dimitre/ofxNDI sprintf_s still not working, I know it is already known from previous issues here.

leadedge commented 3 years ago

Hi Dimitre,

Yes, endl::endl is probably a typo. Generally I use nullptr for pointers and NULL for handles, but looking though there are still some pointers with NULL and it should be cleaned up.

The change from std::floor / floor could be OK. I would have to build to test. Or it might have to be conditional on platform.

I am not sure about sprintf_s and can't recall past problems. Does sprintf work? I will see what can be done.

I haven't been back to this for a while but have merged the testing branch to the master, so that both are even. Can you submit a pull request to the testing branch? Then I can build something to check it out.

Actually on second thoughts, hold on that until I make sure they are even.

I just noticed a change from endl to std::endl. That's probably where the typo came from. When I have updated, I will let you know here.

leadedge commented 3 years ago

OK both branches are now even. I have made no corrections, so it's clear for you to make a pull request to the testing branch.

leadedge commented 3 years ago

OK I have merged the pull request and will look at it as soon as I can.

leadedge commented 3 years ago

OK - I see a problem straight away.

We can't change Processing.NDI.Find.h or Processing.NDI.structs.h because any changes would need to be made by Newtek.

I see you include "cstddef" to both of these. Is the problem with the Newtek header files themselves or is it elsewhere?

EDIT Try including cstddef first in ofxNDIdynloader.h (before #include "ofxNDIplatforms.h")

leadedge commented 3 years ago

I have made some changes and pushed to the testing branch. I will update the master unless you find any problems.

dimitre commented 3 years ago

I've just cloned here and checked out testing branch. Compiled and working in macOS and Ubuntu here! Thank you very much!

leadedge commented 3 years ago

I will close this one now.