weshoke / ofxOpenVDB

OpenVDB voxel processing for OpenFrameworks
MIT License
14 stars 2 forks source link

No member named 'forward_as_tuple' in namespace 'std::__1' ?? #1

Open sterlingcrispin opened 8 years ago

sterlingcrispin commented 8 years ago

I just tried with Xcode5, and then Xcode7 and I get this error about tuples?

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:3732:52: No member named 'forward_as_tuple' in namespace 'std::__1'

weshoke commented 8 years ago

Can you post the entire error log?

weshoke commented 8 years ago

Also, what OF version are you using? What's your compiler version?

sterlingcrispin commented 8 years ago

this was of 0.9.0 Apple LLVM 7.0

log.txt

not sure what is going on with this but it seems to be related to https://github.com/jaredhoberock/tuple/issues/26 does openVDB redefine "forward_as_tuple" and its causing a conflict?

I thought it was resolved on my system but its still happening

sterlingcrispin commented 8 years ago

I still haven't had any luck with this, I recompiled OpenVDB 2.3.0 and its libraries to use libc++ https://github.com/sterlingcrispin/ofxOpenVDB and I'm still getting the same error.

sterlingcrispin commented 8 years ago

I've got a copy of the issue here >> https://github.com/openframeworks/openFrameworks/issues/4693

I can get this to run no problem on my machine if I add opt/local/include/ to the header search paths, but if I try to copy the required libraries to a file structure that could be distributed it won't compile.

ofZach commented 8 years ago

I can see that the problem is basically one h file getting taken over another, this is downloading your branch of the addon @sterlingcrispin and using the project generator:

In file included from /Users/zachlieberman/Desktop/OF_0.9.0/apps/myApps/vdbTest/src/main.cpp:1:
In file included from ../../../libs/openFrameworks/ofMain.h:5:
In file included from ../../../libs/openFrameworks/utils/ofConstants.h:155:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:23:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:43:
In file included from ../../../addons/ofxOpenVDB/libs/OpenVDB/openvdb/Metadata/Metadata.h:34:

if you see the last line, the h file from core services

screen shot 2016-01-04 at 3 05 57 am

seems to be pulling up the h file from openVDB and not the right one....

I am not super familiar with coreServices but will poke around and see if I understand why this is happening.

ofZach commented 8 years ago

try turning this option off:

screen shot 2016-01-04 at 3 25 20 am

I think this is what is causing it to pick up your metadata vs the OS level one (in the coreservices framework). I was able to compile with this.

I have some thoughts about header paths and will bring them up as a seperate issue on the OF repo.

arturoc commented 8 years ago

i think the problem is that the library structure for this addon is not very correct, the includes should be in

ofxOpenVDB/libs/OpenVDB/include/openvdb/

and there should be a addons_config.mk that specifies not to recursively include all of openvdb and instead only include until include like:

ADDON_INCLUDES = src
ADDON_INCLUDES += libs/OpenVDB/include
....

or:

ADDON_INCLUDES_EXCLUDE=libs/OpenVDB/include/openvdb/%

which will exclude from the includes anything in openvdb but not openvdb itsel

includes to the library should look:

#include "openvdb/Metadata/Metadata.h"

which will solve this problem

jeonghopark commented 8 years ago

@sterlingcrispin Right. The incredibleMachines version ([https://github.com/incredibleMachines/oF\_64bit/tree/3656a95cba4c3b32909d73e9cd861f3bf712c1c8]) doesn’t include boost. I already installed the boost in ‘/usr’. So i could compiled a example of openVDB in weshoke ofxOpenVDB.

And i added the carbon.frameworks into the "Link Binary with Libraries" section.

weshoke commented 8 years ago

@sterlingcrispin I'm not able to maintain this project at this point. If you want to take over managing it since you seem to actually be using OpenVDB, I can transfer it to you.

I'm of course open to merging pull requests, but I'm not going to be actively maintaining it.

sterlingcrispin commented 8 years ago

@ofZach hey I know this was a long time ago but I (hopefully) properly updated the addon on my branch with the addons_config.mk file and I'm still getting some linking errors

https://github.com/sterlingcrispin/ofxOpenVDB

I've got this working no problem in an Xcode project that I edited lots of the header search paths by hand ,but if I use the project generator to include a new plugin into that project, or us the project generator to include ofxOpenVDB into a new blank project and then include "ofxOpenVDB.h" I run into lots of problems

Ld bin/myOpenSketchDebug.app/Contents/MacOS/myOpenSketchDebug normal x86_64 cd /Users/sterlingcrispin/code/of_v0.9.0_osx_release/apps/myApps/myOpenSketch export MACOSX_DEPLOYMENT_TARGET=10.7 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -L/Users/sterlingcrispin/code/of_v0.9.0_osx_release/apps/myApps/myOpenSketch/bin -F/Users/sterlingcrispin/code/of_v0.9.0_osx_release/apps/myApps/myOpenSketch/bin -F/Users/sterlingcrispin/code/of_v0.9.0_osx_release/apps/myApps/myOpenSketch/../../../libs/glut/lib/osx -filelist /Users/sterlingcrispin/Library/Developer/Xcode/DerivedData/myOpenSketch-fencogmrotzribeicojalutvtkhz/Build/Intermediates/myOpenSketch.build/Debug/myOpenSketch.build/Objects-normal/x86_64/myOpenSketchDebug.LinkFileList -mmacosx-version-min=10.7 -dead_strip ../../../libs/poco/lib/osx/PocoCrypto.a ../../../libs/poco/lib/osx/PocoData.a ../../../libs/poco/lib/osx/PocoDataSQLite.a ../../../libs/poco/lib/osx/PocoJSON.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoNetSSL.a ../../../libs/poco/lib/osx/PocoZip.a ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a ../../../libs/openssl/lib/osx/crypto.a ../../../libs/openssl/lib/osx/ssl.a ../../../libs/glfw/lib/osx/glfw3.a ../../../libs/FreeImage/lib/osx/freeimage.a ../../../libs/freetype/lib/osx/freetype.a ../../../libs/boost/lib/osx/boost_filesystem.a ../../../libs/boost/lib/osx/boost_system.a -framework Accelerate -framework AGL -framework AppKit -framework ApplicationServices -framework AudioToolbox -framework AVFoundation -framework Cocoa -framework CoreAudio -framework CoreFoundation -framework CoreMedia -framework CoreServices -framework CoreVideo -framework IOKit -framework OpenGL -framework QuartzCore -framework QuickTime -framework QTKit -framework GLUT -stdlib=libc++ /Users/sterlingcrispin/code/of_v0.9.0_osx_release/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a -Xlinker -dependency_info -Xlinker /Users/sterlingcrispin/Library/Developer/Xcode/DerivedData/myOpenSketch-fencogmrotzribeicojalutvtkhz/Build/Intermediates/myOpenSketch.build/Debug/myOpenSketch.build/Objects-normal/x86_64/myOpenSketchDebug_dependency_info.dat -o /Users/sterlingcrispin/code/of_v0.9.0_osx_release/apps/myApps/myOpenSketch/bin/myOpenSketchDebug.app/Contents/MacOS/myOpenSketchDebug

ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks//QuickTime.framework/QuickTime.tbd, missing required architecture x86_64 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks//QuickTime.framework/QuickTime.tbd Undefined symbols for architecture x86_64: "openvdb::v3_2_0::util::INVALID_IDX", referenced from: openvdb::v3_2_0::tools::MeshToVoxelEdgeData::EdgeData::EdgeData(float) in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)