Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Senor Cuete

macrumors 6502
Original poster
Nov 9, 2011
432
32
I use Receigen, http://receigen.etiemble.com/support.html, to implement code signing in a Mac application. This has always worked for me but starting with XCode 7.1, I can't build my project. Receigen generates a header file that you included in your main.m file. This gives you defines a function:
CheckReceiptAndRun(argc, (const char **) argv);
that you use instead of:
NSApplicationMain(argc, (const char **) argv);

In order to use this you have to include an openssl-version folder that has the openssl libraries and an include folder that contains an openssl folder with the needed header files for the receigen header file to build.

The Receigen header has lines like this:
#import <openssl/bio.h>

These headers are in the project and I can open them and read them but the project won't build. Building reports an error: 'openssl/bio.h' file not found.

I've tried adding these folders to the project file with and without the copy files needed box checked and with the create groups and create folder references options. The result is the same. The openssl files are added to the project and I can see and read them but the compiler can't locate them.

I've added /Users/Guest/Projects/openssl-version/include in the User Header Search Paths in the project Search Paths as advised in the Reciegen help. Always search User Paths is set to yes. I've also tried adding search paths to the include folder in the Header Search Paths and Sub-directories to include in Recursive Searches fields but the compiler still reports that they can't be found.

I can't understand why XCode suddenly can't find included header files in the project tree with version 7. I know that Apple has deprecated openssl but including the libraries and headers should still work. It seems like Apple has done something to sabotage Receigen/openssl.

The Reciegen developer doesn't respond to help E-mails so maybe one of you can help.
 
I can get the project to build by replacing for example

#import <openssl/bio.h>

with

#import "openssl-1.0.1g/include/openssl/bio.h"

I can understand why the quotes would be better than the '<>'s but I shouldn't have to replace all of the 222 "#import <openssl/file name>s with

#import "fullpath/..."s

the compiler should be able to do this.
 
Here's a fix:

Add the opesssl-version folder with the Destination: Copy items if needed check box checked and the Added folders: Create Groups radio button selected.

Change ALL 222 OCCURRANCES of for example:

#import <openssl/bio.h>

with for example:

#import "bio.h"

I'm not done doing this yet but If it works I'll post it here.

Yes, it builds this way.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.