fatal error: 'TargetConditionals.h' file not found
2018-02-26 18:21
281 查看
Qt编译时出现错误:fatal error: 'TargetConditionals.h' file not found
解决方法一:(QMAKE_MAC_SDK要看当前电脑的系统版本)
找到文件: /users/***/Qt/5.*/clang_64/mkspecs/qdevice.pri
修改下面一行代码
!host_build:QMAKE_MAC_SDK = macosx10.8
为:
!host_build:QMAKE_MAC_SDK = macosx10.9
Qt5.6时这个文件发生了变化,qdevice.pri 文件内容如下:
GCC_MACHINE_DUMP=x86_64-apple-darwin14.5.0
改为:(macosx10.11 为当前Mac的操作系统的版本)
GCC_MACHINE_DUMP=x86_64-apple-darwin14.5.0
!host_build:QMAKE_MAC_SDK=macosx10.11
按此方法修改可能并不能解决此问题,这时可以用下面的方法尝试
解决方法二:
按上述方法修改后还是报这个错误,这时可以如下这么改:
由于问题出现的原因是找不到SDK(假如这个SDK是iPhoneOS.8.3.SDK),我们可以进入到xcode包内,找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk,然后制作此SDK的替身,并命名为iPhoneOS.8.3.SDK; 如果还不行,就复制此SDK并重命名为iPhoneOS.8.3.SDK,这样的话就能解决此问题(但会额外占用存储空间
)
(5.9中编译库时无论是否选真机还是模拟器库,都会连接模拟器的SDK,也致使出现这个问题);和方法2类似,在模拟器SDKs文件夹中复制一份编译时连接的SDK(若找不到这个SDK)
通过gcc -v 可以查看 GCC_MACHINE_DUMP 的值
bogon:/ nmlhm$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
uname -a 查看内核版本号
解决方法三:
出现这个错误时,通常还伴随有其他问题如:
Project WARNING: You need to update Xcode to version 7 or newer to support bitcode
此警告在qmake时出现,
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk' [-Wmissing-sysroot]
此警告在编译时出现(不一定就是8.3的SDK,以8.3为例);
fatal error: ‘TargetConditionals.h’ file not found
此错误出现时编译停止,原因就是上面的警告,找不到对应的SDK
解决:修改 /Users/***/.qmake.stash(在用户目录下) 文件; 查看此文件可以看到QMAKE_XCODE_VERSION = 6.3.2 ,将此版本号改为如9.1,第一个警告就可以消除; 然后搜索8.3的SDK,找到相关配置,将iPhoneOS8.3.sdk改为iPhoneOS.sdk,这样就查找的是当前xcode的默认SDK,不至于乱找,弄错了路径; 模拟器的SDK也要找到替换掉,这样就可以消除掉第二个警告。 路径对了fatal error: ‘TargetConditionals.h’ file not found错误也就没了
解决方法一:(QMAKE_MAC_SDK要看当前电脑的系统版本)
找到文件: /users/***/Qt/5.*/clang_64/mkspecs/qdevice.pri
修改下面一行代码
!host_build:QMAKE_MAC_SDK = macosx10.8
为:
!host_build:QMAKE_MAC_SDK = macosx10.9
Qt5.6时这个文件发生了变化,qdevice.pri 文件内容如下:
GCC_MACHINE_DUMP=x86_64-apple-darwin14.5.0
改为:(macosx10.11 为当前Mac的操作系统的版本)
GCC_MACHINE_DUMP=x86_64-apple-darwin14.5.0
!host_build:QMAKE_MAC_SDK=macosx10.11
按此方法修改可能并不能解决此问题,这时可以用下面的方法尝试
解决方法二:
按上述方法修改后还是报这个错误,这时可以如下这么改:
由于问题出现的原因是找不到SDK(假如这个SDK是iPhoneOS.8.3.SDK),我们可以进入到xcode包内,找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk,然后制作此SDK的替身,并命名为iPhoneOS.8.3.SDK; 如果还不行,就复制此SDK并重命名为iPhoneOS.8.3.SDK,这样的话就能解决此问题(但会额外占用存储空间
)
(5.9中编译库时无论是否选真机还是模拟器库,都会连接模拟器的SDK,也致使出现这个问题);和方法2类似,在模拟器SDKs文件夹中复制一份编译时连接的SDK(若找不到这个SDK)
通过gcc -v 可以查看 GCC_MACHINE_DUMP 的值
bogon:/ nmlhm$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
uname -a 查看内核版本号
解决方法三:
出现这个错误时,通常还伴随有其他问题如:
Project WARNING: You need to update Xcode to version 7 or newer to support bitcode
此警告在qmake时出现,
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk' [-Wmissing-sysroot]
此警告在编译时出现(不一定就是8.3的SDK,以8.3为例);
fatal error: ‘TargetConditionals.h’ file not found
此错误出现时编译停止,原因就是上面的警告,找不到对应的SDK
解决:修改 /Users/***/.qmake.stash(在用户目录下) 文件; 查看此文件可以看到QMAKE_XCODE_VERSION = 6.3.2 ,将此版本号改为如9.1,第一个警告就可以消除; 然后搜索8.3的SDK,找到相关配置,将iPhoneOS8.3.sdk改为iPhoneOS.sdk,这样就查找的是当前xcode的默认SDK,不至于乱找,弄错了路径; 模拟器的SDK也要找到替换掉,这样就可以消除掉第二个警告。 路径对了fatal error: ‘TargetConditionals.h’ file not found错误也就没了
相关文章推荐
- java.io.FileNotFoundException:file:\D:\code\xml-load\target\XX.jar!\XXX(文件名、目录名或卷标语法不正确。)
- File not found: ..\target\m2e-wtp\web-resources\META-INF\MANIFEST.MF.
- java.io.FileNotFoundException:file:\D:\code\xml-load\target\XX.jar!\XXX(文件名、目录名或卷标语法不正确。)
- fatal error: 'HIToolbox/HIToolbox.h' file not found #import <HIToolbox/HIToolbox.h>
- 解决fatal error: 'ffi.h' file not found
- eclipse exception:File not found: .\target\m2e-wtp\web-resources\
- fatal error: 'openssl/err.h' file not found
- 安装PIL 点滴 fatal error: 'freetype/fterrors.h' file not found
- fatal error: 'libxml/xmlversion.h' file not found
- Delphi7 [Fatal Error] ClassPas.pas(8): File not found: 'DesignIntf.dcu'
- Mac OS X 10.10 编译代码出错 fatal error: '__debug' file not found #include <__debug>
- fatal error: 'gnu/stubs-soft.h' file not found
- hadoop jstack Unable to open socket file: target process not responding or HotSpot VM not loaded
- XCode里遇到 #include <XXX.h>file not found的解决方案
- RCT******.h file not found 异常时,请做如下处理
- 解决The file XXX can not be found.Please check the location and try again!
- XmlSerialize构造函数发生错误-FileNotFoundException
- java.io.FileNotFoundException问题,说是db.properties文件找
- javax.xml.transform.TransformerException: java.io.FileNotFoundException:
- openssl rsa.h file not found