Status:
Fixed in Vuo version:
Steps causing the bug to occur:
Hi,
I'm trying to create a node in C porting bgslibrary. I meet a compiler error that i can't sort out. I tried to simplify to isolate the issue, here is the simplest way to meet it:
rename example.stateless.vuoize.c to example.stateless.vuoize.cc
edit example.stateless.vuoize.cc adding after #include "node.h" the following lines:
#include <iostream> #include <algorithm> #include <iterator> #include <string> #include <vector> #include <opencv2/opencv.hpp>
- type
vuo-compile -I /usr/local/opt/opencv@2/include example.stateless.vuoize.cc
- I get:
/Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:313:9: error: no member named 'signbit' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:314:9: error: no member named 'fpclassify' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:315:9: error: no member named 'isfinite' in the global namespace; did you mean 'finite'? /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:316:9: error: no member named 'isinf' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:317:9: error: no member named 'isnan' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:318:9: error: no member named 'isnormal' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:319:7: error: no member named 'isgreater' in the global namespace; did you mean '::std::greater'? /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:320:7: error: no member named 'isgreaterequal' in the global namespace; did you mean '::std::greater_equal'? /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:321:9: error: no member named 'isless' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:322:9: error: no member named 'islessequal' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:323:9: error: no member named 'islessgreater' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:324:9: error: no member named 'isunordered' in the global namespace /Library/Developer/Vuo/framework/Vuo.framework/Frameworks/llvm.framework/Versions/A/Headers/lib/c++/v1/cmath:325:9: error: no member named 'isunordered' in the global namespace
Seems the first libraries are included correctly, not opencv one. I tried with several opencv versions installed using brew, v2 the simplest, but with no luck. Thanks for your support.
Compositions:
Attachment | Size |
---|---|
![]() | 1.2 KB |
Comments
mic, I've converted this to a
mic, I've converted this to a bug report. We're able to reproduce the problem by just doing
#include <cmath>
directly.The problem has to do with header search paths. The Vuo compiler is finding the wrong version of the header file that defines
signbit
and other functions.We can fix this in the Vuo compiler by changing the order of its built-in header search paths. Unfortunately we don't know of a workaround in the meantime that would make it possible to include cmath, or to include anything that includes cmath, such as OpenCV.
Fixed in Vuo 2.4.0.
Fixed in Vuo 2.4.0.