gpt4 book ai didi

c++ - 添加原生静态依赖

转载 作者:太空狗 更新时间:2023-10-29 23:02:32 25 4
gpt4 key购买 nike

在 C++ Gradle 项目中,我使用 boost 1.49 库。

如何将此库添加为我的项目的依赖项。

我尝试过这种方式,但我应该将 boost 定义为依赖。有 C++ 库存储库吗?

apply plugin: 'cpp'

libraries {
hello {
baseName 'hello'
}
}

sources {
hello{
cpp {
source.srcDirs = ['src']
lib library: 'boost', linkage: 'api'
exportedHeaders.srcDirs = ['include']
}
}
}

最佳答案

c/cpp 编程不仅是域(与 gradle 对比 ;)),但是当您导航到 $GRADLE_HOME/samples/native-binaries 时,您可以在那里找到很多有用的示例。

其中一个 - cunit(哦,还有另一个:multi-project)有这样的配置 - 它可能对你有用。下面我附上了 cunitbuild.gradle - 以防您使用 gradle wrapper。

apply plugin: "c"
apply plugin: "cunit"

model {
flavors {
passing
failing
}
repositories {
libs(PrebuiltLibraries) {
cunit {
headers.srcDir "lib/cunit/2.1-2/include"
binaries.withType(StaticLibraryBinary) {
staticLibraryFile =
file("lib/cunit/2.1-2/lib/" +
findCUnitLibForPlatform(targetPlatform))
}
}
}
}
}

libraries {
operators {}
}
binaries.withType(CUnitTestSuiteBinarySpec) {
lib library: "cunit", linkage: "static"

if (flavor == flavors.failing) {
cCompiler.define "PLUS_BROKEN"
}
}

def findCUnitLibForPlatform(Platform platform) {
if (platform.operatingSystem.windows) {
return "vs2010/cunit.lib"
// return "vs2013/cunit.lib"
// return "cygwin/cunit.lib"
// return "mingw/cunit.lib"
} else if (platform.operatingSystem.macOsX) {
return "osx/libcunit.a"
} else {
return "linux/libcunit.a"
}
}

快速谷歌搜索表明,没有像用于 c/cpp 项目的库存储库这样的东西。看来这些库应该包含在项目源中。

关于c++ - 添加原生静态依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28177518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com