Handling Unresolved Bicode Dependent Platform Dependencies

I tried to add biometric support for the Catch testing library and had some problems with external dependencies related to Objective-C and Microsoft Foundation Classes (MFC).

When starting bii deps :

the following is displayed:
 florianwolters/catch depends on: system: algorithm assert.h cmath cstddef cstdio cstring fstream iomanip iostream iterator limits map memory ostream set sstream stdbool.h stdexcept stdint.h stdlib.h streambuf string sys/time.h sys/types.h unistd.h vector windows.h unresolved: AfxWin.h Foundation/Foundation.h objc/runtime.h sys/sysctl.h 

The three files sys/sysctl.h , objc/runtime.h and Foundation/Foundation.h are related to iOS development in Objective-C. The AfxWin.h file is part of the Microsoft Foundation Classes (MFC) C ++ library from Microsoft. The florianwolters / catch bi- code block I created (for more information).

So the question is: how to deal with such dependencies? It makes no sense to download source code owned by Apple or Microsoft (it may even be illegal) in bicode , although I have not checked the licenses yet.

Is it the β€œright” or recommended way to simply ignore such unresolved issues?

EDIT 2015-01-11:

I wrote a blog post about the process here . Please let me know if I have made any mistakes or have any suggestions for improving the workflow.

+7
include header dependencies biicode
source share
1 answer

Yes, at the moment this is the right way. Biicode predefined some system headers that are basic to the Win and Nix platforms, but not all of them. Typically, OSX or other specific headers like MFC will not be found in the bicode, and then will be marked as unresolved.

It's not a problem. The same thing happens for your own libraries. If you want to use any of your system libraries, you can do it very easily, as usual (in CMake using Finders or Imported target). Biicode marks the included headers for this library as unresolved, which indicates that it is not controlled by the bicode. As long as these headers are present in your machine, everything will work fine.

+5
source share

All Articles