在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']
}
}
}
答案 0 :(得分:1)
c / cpp编程不是域而是(与gradle相反;))但是当你导航到$GRADLE_HOME/samples/native-binaries
时,你可以在那里找到很多有用的例子。
其中一个 - cunit (哦,还有另一个:多项目)有这样的配置 - 它可能对你有用。下面我附上 cunit 中的build.gradle
- 以防您使用gradle包装。
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"
}
}
快速的Google搜索显示,没有像c / cpp项目的库存储库这样的东西。似乎图书馆应该包含在项目来源中。