In MSVS when I #include <someHeader> it is searched in a different folder than the headers included with #include "someheader". Same thing should be in xcode, but it seems that it does not work. Because of this I have conflicts with local headers that have same name as std headers(String.h, etc) and I can't include std headers. I tried to change project option "Always search user paths" but it still does not work. The help message from this options says that it will solve my problem, but...
If enabled, both #include <header.h>-style and #include "header.h"-style directives will search the paths in "User Header Search Paths" before "Header Search Paths", with the consequence that user headers (such as your own String.h header) would have precedence over system headers when using #include <header.h>. This is done using the -iquote flag for the paths provided in "User Header Search Paths". If disabled and your compiler fully supports separate user paths, user headers will only be 开发者_C百科accessible with
include "header.h"-style preprocessor directives.
For backwards compatibility reasons, this setting is enabled by default, but disabling it is strongly recommended. [ALWAYS_SEARCH_USER_PATHS]
Do you have any idea how to solve this? I really don't want to change my header files names or to remove search paths from project settings and use relative paths to local files (../../ ... /SomeFolder/SomeHeader.h).
I solved the problem by changing all headers extension from h to hpp... It's not a real solution, but I kept the file names and I solved the problem, for now:)
精彩评论