cla*_*ong 11 c++ xcode c++17 macos-high-sierra xcode9.4
如何在OSX High Sierra(10.13.5)上的Xcode(9.4.1)中启用C++ 17?
cla*_*ong 18
在OSX High Sierra(10.13.5)上的Xcode(9.4.1)中使用C++ 17的步骤:
验证步骤:
现在当我输出__cplusplus时,我看到201703,我能够编译C++ 17的功能,例如constexpr.
template<class T>
int compute(T x) {
if constexpr( supportsAPI(T{}) ) {
// only gets compiled if the condition is true
return x.Method();
} else {
return 0;
}
}
int main(){
cout << __cplusplus << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
201703
Program ended with exit code: 0
Run Code Online (Sandbox Code Playgroud)
当使用开发 CocoaPods(编写 C++ 库)时,我还必须更新podspec
包含 c++ 17 代码的该库,以编译包含该 pod 的主机应用程序。
所以我将这些标志添加到库中podspec
spec.xcconfig = {
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
"CLANG_CXX_LIBRARY" => "libc++"
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7074 次 |
最近记录: |