"Non-portable path to file "File.h“;指定的路径与磁盘上的文件名不同”更新到 Xcode 8.3 后桥接头中的警告

"Non-portable path to file "File.h"; specified path differs in case from file name on disk" warning in bridging header after updating to Xcode 8.3

我更新到 Xcode 8.3 和 Swift 3.1 并在我的桥接头文件中收到此警告,引用 Objective-C 头文件:

Non-portable path to file "File.h"; specified path differs in case from file name on disk

我该如何解决这个问题?

原来是我拼错了文件名,正确的名字是"FILE.h"而不是"File.h"。出现这个警告是因为 macOS 即将推出 APFS。

在我的例子中,!!项目文件夹名称!! 与桥接头路径不匹配。

我变了

"项目/project-Bridging-Header.h"

"项目/project-Bridging-Header.h"

测试于 Xcode 9.3

我遇到的另一个原因是库项目错误地导入了自身。例如,给定项目 MainLibrary,Main 将导入库:

#import "Library/Library.h"

如果库尝试使用相同的导入,将出现 不可移植路径 警告。删除路径部分很容易解决:

#import "Library.h"

更好的解决方法是从自身导入库需要的特定组件:

#import "Widget.h"
#import "NSString+Library.h" 

在 Ubuntu.

上开发和工作的代码在 MacOS 计算机上遇到了 Qt (C++) 中的问题

我的项目有两个文件:server.cppServer.cpp

解决方案是更改一个文件或另一个文件的名称。