我试图使用 Gradle 编译 C++ 项目,但我找不到在编译时声明我想要的附加包含路径以及在链接时声明哪些附加库的方法。
我见过涉及项目内部 model { }
的解决方案(我不太记得了)。 (但是没有用,Gradle 一直提示不存在的函数。)
似乎还不是将 Conan 依赖项添加到 Gradle 项目的清晰或简单的方法。这让我自己编译库,然后添加到构建系统,但同样,我找不到方法。
我一直在文档中寻找答案,但我找到的只是添加 Maven 依赖项(但我猜 GLFW、GLEW 和 DearIMGUI 不在 Maven 上......)。
有什么怪癖吗?我怎样才能注册额外的包含/链接文件?
我的build.gradle.kts
:
plugins {
id("cpp-application")
}
tasks.register("runDebug") {
doLast {
exec {
executable = "./build/exe/main/debug/my-app.exe"
}
}
}
最佳答案
经过5个小时的搜索,我终于找到了使用Gradle构建QT应用程序的解决方案。感谢@s-kadakov。
plugins {
id 'cpp-application'
id 'cpp-unit-test'
}
application {
targetMachines.add(machines.linux.x86_64)
}
tasks.withType(CppCompile).configureEach {
compilerArgs.add '-fPIC'
includes {
'/usr/include/qt'
}
compilerArgs.addAll toolChain.map { toolChain ->
if (toolChain in [ Gcc, Clang ]) {
return ['-O2', '-fno-access-control']
} else if (toolChain in VisualCpp) {
return ['/Zi']
}
return []
}
}
tasks.withType(LinkExecutable).configureEach {
linkerArgs.add '-v'
linkerArgs.add '-lQt5Core'
linkerArgs.add '-lQt5Widgets'
linkerArgs.add '-lQt5Gui'
}
希望这对您有帮助。
关于c++ - 适用于 C++ 的其他包含路径和链接器选项 Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61203429/