Skip to content

Conversation

@Air-Craft
Copy link

Hi. I had compiler errors from CeedGL.h not being able to find the referenced header file includes. Great lib btw. I had planned to write something similar and was happy to find out someone else had down it already!

@rsebbe
Copy link
Member

rsebbe commented Jul 30, 2013

Hi Hari. Thank you.

Could you tell me how you are integrating CeedGL in your own project? The include files are copied on purpose into a CeedGL/ directory as part of the build process, in a way that we can use the same approach for building an app using either the framework or the static lib.

Changing it the way you propose would break that behavior. But I can help you configure your project instead.

@Air-Craft
Copy link
Author

Hi Raphael,

Thanks again for making this library. I've had another look and this is what I've found….

  1. For the lines like below in the individual class files...

#import <CeedGL/GLPlatform.h>

…unless you tell Xcode to look for CeedGL in Framework Search Path, it prefers quotes "..." rather than <...> I think. However it seems to work if you change it to…

#import <GLPlatform.h>

or

#import "CeedGL/GLPlatform.h"

But then is breaks in your demo project as it can't find any of the imports with <> - but then XCode makes a suggestion to change the <>'s to ""'s. If you do, everything works including the static builds...

  1. I needed to #import <QuartzCore/QuartzCore.h> to get CGSize to be recognised.
  2. I also needed to #import "GLDebugh.h" in most of the files or a get C99 implicit function def not supported warnings anytime you use GLError() or GLLog().

Hope this helps. I've done all this and sent another pull request.

Also I was thinking about a helper method or two on GLProgram to load, compile and link a vertex/fragment shader pair either from strings or files. It's a very common use case and would save a nice chunk of code. Are you open to such additions?

Gratefully,
Hari Karam Singh

══════════════════════════════════════
Sound Wand ~ Amazing Motion-Based Music Apps

"A very unique and sophisticated virtual musical instrument"

  • The Next Web (TNW.com)

"Surprisingly absorbing and relaxing"

  • Tap! Magazine

http://soundwandapp.com | Tw | Fb | Yt | Sc

══════════════════════════════════════
Club 15CC
An Inspirational Media and Technology Studio
London, UK • +44 (0) 207 394 8587 • +44 (0) 779 055 6418
http://club15cc.com/

On 30 Jul 2013, at 18:05, Raphael Sebbe notifications@github.com wrote:

Hi Hari. Thank you.

Could you tell me how you are integrating CeedGL in your own project? The include files are copied on purpose into a CeedGL/ directory as part of the build process, in a way that we can use the same approach for building an app using either the framework or the static lib.

Changing it the way you propose would break that behavior. But I can help you configure your project instead.


Reply to this email directly or view it on GitHub.

@rsebbe
Copy link
Member

rsebbe commented Jul 31, 2013

Hari,

When you say it doesn't compile, is it your own project making use of CeedGL, or the CeedGL itself?
Could you attach some build log to clarify the issue?

The headers are actually meant to be included as a framework <CeedGL/GLTexture.h>. It's a choice I made. It is easier to handle when you have multliple libraries around.

I'd like to have it to work that way too in your setup too, instead of changing the approach. So please include build log, Xcode version, platform you're targeting, and I'll try to get you going.

@Air-Craft
Copy link
Author

Hi Raphael,

The CeedGL iOS project gives the error below straight out of the box:

/Users/Club15CC/Google Drive/Code/ScottishPower/ScottishPower/Vendor/CeedGL/Sources/GLTexture.h
/Users/Club15CC/Google Drive/Code/ScottishPower/ScottishPower/Vendor/CeedGL/Sources/GLTexture.h:20:33: Unknown type name 'CGSize'; did you mean 'Size'?
/Users/Club15CC/Google Drive/Code/ScottishPower/ScottishPower/Vendor/CeedGL/Sources/GLDrawCommand.m:13:9: In file included from /Users/Club15CC/Google Drive/Code/ScottishPower/ScottishPower/Vendor/CeedGL/Sources/GLDrawCommand.m:13:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/usr/include/MacTypes.h:241:41: 'Size' declared here

corrected by adding an import for quartz

My project gives

/Users/Club15CC/Google Drive/Code/ScottishPower/ScottishPower/Vendor/CeedGL/Sources/GLObject.h:10:9: 'CeedGL/GLPlatform.h' file not found

And when you fix that, others pop up...

I've never seen an iOS library not use quotes - e.g. AFNetworking, BlockKit, MagicalRecord. Maybe it's different in OSX.

Like a mentioned it works fine with <> if you remove the "CeedGL/" prefix which seems to make sense to me as these header files are in the same folder "CeedGL" hence no for the prefix? Or am I missing something. I have my project set to search the Vendor folder (in which CeedGL lives) recursively.

Anyway, I've got it working, I just would like to contribute but I can't really if my version isn't in sync with yours…

Thanks for taking the time to have a look...

Gratefully,
Hari Karam Singh

══════════════════════════════════════
Sound Wand ~ Amazing Motion-Based Music Apps

"A very unique and sophisticated virtual musical instrument"

  • The Next Web (TNW.com)

"Surprisingly absorbing and relaxing"

  • Tap! Magazine

http://soundwandapp.com | Tw | Fb | Yt | Sc

══════════════════════════════════════
Club 15CC
An Inspirational Media and Technology Studio
London, UK • +44 (0) 207 394 8587 • +44 (0) 779 055 6418
http://club15cc.com/

On 31 Jul 2013, at 15:49, Raphael Sebbe notifications@github.com wrote:

Hari,

When you say it doesn't compile, is it your own project making use of CeedGL, or the CeedGL itself?
Could you attach some build log to clarify the issue?

The headers are actually meant to be included as a framework . It's a choice I made. It is easier to handle when you have multliple libraries around.

I'd like to have it to work that way too in your setup too, instead of changing the approach. So please include build log, Xcode version, platform you're targeting, and I'll try to get you going.


Reply to this email directly or view it on GitHub.

@rsebbe
Copy link
Member

rsebbe commented Jul 31, 2013

Hari,

I'm trying to understand the compilation failure. Here it builds out of the box on a test (blank) user account with both Xcode 4.6.3 & 5DP4, on a 10.8.4 Mac.

  1. What version of Xcode / SDK do you use?
  2. Which scheme/target do you build to get those errors, CeedGL.ios or CeedGLDemo.ios?
  3. Does it happen with a fresh downloaded version from this repository?

(I agree there is a problem with CGSize declaration that needs to be fixed, but it should nonetheless compile in its current state because it is included in the .pch)

To answer your question, Xcode is supposed to copy CeedGL header files during the build to a location, under the CeedGL/ subpath, that is an implicit framework search path (you don't have to add yourself in the target). This is why I was asking the full transcript of the failure (the CompileC + full page of compiler args), to see if that implicit path was correctly added by Xcode. If you have that line + whole arg list for the failed compilation, please include it as well.

Thank you for your help identifying the problem.

@Air-Craft
Copy link
Author

Hi Raphael

Attached are the build logs for the iOS demo app form a clean master (62f04ed modernized project) for Xcode 4 iOS6 and Xcode 5 DP3 iOS6.

Let me know if this helps….

Hari Karam Singh

On 31 Jul 2013, at 20:17, Raphael Sebbe notifications@github.com wrote:

Hari,

I'm trying to understand the compilation failure. Here it builds out of the box on a test (blank) user account with both Xcode 4.6.3 & 5DP4, on a 10.8.4 Mac.

What version of Xcode / SDK do you use?
Which scheme/target do you build to get those errors, CeedGL.ios or CeedGLDemo.ios?
Does it happen with a fresh downloaded version from this repository?
(I agree there is a problem with CGSize declaration that needs to be fixed, but it should nonetheless compile in its current state because it is included in the .pch)

To answer your question, Xcode is supposed to copy CeedGL header files during the build to a location, under the CeedGL/ subpath, that is an implicit framework search path (you don't have to add yourself in the target). This is why I was asking the full transcript of the failure (the CompileC + full page of compiler args), to see if that implicit path was correctly added by Xcode. If you have that line + whole arg list for the failed compilation, please include it as well.

Thank you for your help identifying the problem.


Reply to this email directly or view it on GitHub.

@rsebbe
Copy link
Member

rsebbe commented Aug 1, 2013

There is no attachment, I can't review it. Can you send it again?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants