我有一个由以下构建脚本(build.gradle)定义的gradle项目:
plugins {
id 'cpp-application'
}
application {
targetMachines.add(machines.linux.x86_64)
targetMachines.add(machines.windows.x86_64)
}这是我的目录结构:
./src
./src/main
./src/main/cpp
./src/main/cpp/descriptor.cpp
./src/main/cpp/reader_writer.cpp
./src/main/cpp/constant_pool.cpp
./src/main/cpp/unjar.cpp
./src/main/cpp/attribute.cpp
./src/main/cpp/main.cpp
./src/main/cpp/java_serde.cpp
./src/main/headers
./src/main/headers/unjar.h
./src/main/headers/attribute.h
./src/main/headers/constant_pool.h
./src/main/headers/descriptor.h
./src/main/headers/java_serde.h
./src/main/headers/reader_writer.h
./build.gradle现在我想编译我的项目,在这个项目中我在一些源文件中使用C++17特性。我忘记了如何为我的gradle版本设置C++标准版本。我如何告诉gradle用C++17编译我的代码?
发布于 2021-02-17 22:19:29
在application配置子句中设置以下内容:
compilerArgs.add '-std=c++17'如果您的目标平台是多个平台,您可以有条件地设置compilerArgs:
compilerArgs.addAll toolChain.map { toolChain ->
if (toolChain in [ Gcc, Clang ]) {
return ['-std=++17']
} else if (toolChain in VisualCpp) {
return '/std=c++17'
}
return []
}发布于 2021-02-17 21:56:45
在启动cmake的gradle脚本中,添加cppFlags
cmake {
cppFlags = "std=c++17"
}发布于 2021-02-17 22:07:26
我希望它能帮助你:
cmake {
cppFlags = "std=c++17"}} <-在第3行
https://stackoverflow.com/questions/66243221
复制相似问题