添加原生静态依赖
Adding native static dependencies
在 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)有这样的配置 - 它可能有用为你。下面我附上 build.gradle
来自 cunit - 如果你使用 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++ 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)有这样的配置 - 它可能有用为你。下面我附上 build.gradle
来自 cunit - 如果你使用 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 项目没有像库存储库这样的东西。看来这些库应该包含在项目源中。