C++ 如何在应用程序子项目中从gradle子项目链接静态库
我的项目结构如下:C++ 如何在应用程序子项目中从gradle子项目链接静态库,c++,gradle,C++,Gradle,我的项目结构如下: MyProject/ ├── gradle.build ├── gradle.settings ├── MyCppApp/ | ├── gradle.build | ├── gradle.settings │ └── src/ | └── main/ | └── cpp/ | └── my_cpp_app.cpp └── MyCppLib/ ├── gr
MyProject/
├── gradle.build
├── gradle.settings
├── MyCppApp/
| ├── gradle.build
| ├── gradle.settings
│ └── src/
| └── main/
| └── cpp/
| └── my_cpp_app.cpp
└── MyCppLib/
├── gradle.build
├── gradle.settings
└── src/
├── main/
| ├── cpp/
| | └── my_cpp_lib.h
| └── public/
| └── my_cpp_lib.h
└── test/
└── cpp/
└── my_cpp_lib_test.cpp
我的gradle文件:
settings.gradle
include 'MyCppLib'
include 'MyCppApp'
configure(':MyCppApp') {
dependencies {
// compile project(':MyCppLib') <-- this does not work
}
}
apply plugin: "cpp-application"
dependencies {
// compile project(':MyCppLib') <-- this does not work
}
apply plugin: "cpp-library"
apply plugin: "cpp-unit-test"
library {
linkage = [Linkage.STATIC]
}
build.gradle
include 'MyCppLib'
include 'MyCppApp'
configure(':MyCppApp') {
dependencies {
// compile project(':MyCppLib') <-- this does not work
}
}
apply plugin: "cpp-application"
dependencies {
// compile project(':MyCppLib') <-- this does not work
}
apply plugin: "cpp-library"
apply plugin: "cpp-unit-test"
library {
linkage = [Linkage.STATIC]
}
MyCppLib/build.gradle
include 'MyCppLib'
include 'MyCppApp'
configure(':MyCppApp') {
dependencies {
// compile project(':MyCppLib') <-- this does not work
}
}
apply plugin: "cpp-application"
dependencies {
// compile project(':MyCppLib') <-- this does not work
}
apply plugin: "cpp-library"
apply plugin: "cpp-unit-test"
library {
linkage = [Linkage.STATIC]
}
我在所示的两个位置编译了项目(':MyCppLib'),也编译了实现项目(':MyCppLib')。错误总是找不到相应的函数,但据我所知,任务应该由插件自动添加。我希望有一个简单的解决方案,因为目标是显而易见的,但除了一些android项目,我对gradle很陌生,无法用jet解决它。因此,最终我自己找到了答案,答案非常简单 在
mycpapp/build.gradle中
include 'MyCppLib'
include 'MyCppApp'
configure(':MyCppApp') {
dependencies {
// compile project(':MyCppLib') <-- this does not work
}
}
apply plugin: "cpp-application"
dependencies {
// compile project(':MyCppLib') <-- this does not work
}
apply plugin: "cpp-library"
apply plugin: "cpp-unit-test"
library {
linkage = [Linkage.STATIC]
}
一定是这样
apply plugin: "cpp-application"
application {
dependencies {
implementation project(':MyCppLib')
}
}