If you're using .mm files (C++) in your project, when you include the header files in .mm files header you may get below mentioned error (Even though you have all the right linker flags set): 1. linker failed with exit code 1 2. directory not found Solution: 1. Try adding the file to .mm file directly (not to .h file for .mm) 2. Try adding the file as extern extern "C" { #import "DetectDevice.h" }