我正在尝试使用 gradle 设置多项目设置,并尝试使用eclipseIDE 插件生成 eclipse 项目。
下面是我的结构。
rootDir/
|---buildSrc/
|---src/
|---main/
|---gradle/
|---eclipse.gradle.kts
|---build.gradle.kts
|---app/
|---build.gradle.kts
|---models/
|---build.gradle.kts
|---services/
|---build.gradle.kts
|---build.gradle.kts
|---settings.gradle.kts
Run Code Online (Sandbox Code Playgroud)
以下是特定文件的内容,例如settings.gradle.kts和build.gradle.kts
设置.gradle.kts
rootProject.name = "platform"
include("app", "models", "services")
Run Code Online (Sandbox Code Playgroud)
根目录/build.gradle.kts
...
val buildSrc by extra("$rootDir/buildSrc")
configure(subprojects) {
apply(from = "$buildSrc/src/main/gradle/eclipse.gradle.kts")
}
Run Code Online (Sandbox Code Playgroud)
rootDir/buildSrc/src/main/gradle/eclipse.gradle.kts
plugins {
eclipse
}
eclipse {
project {
println("Running inside eclipse closure for $name")
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行时./gradlew,出现以下错误:
Expression 'eclipse' cannot be invoked as a function. The function 'invoke()' is not …Run Code Online (Sandbox Code Playgroud) 我有这个需要。如果提供,则从/向文件读取或写入回退到好朋友std::cin/ std::cout,如下所示:
// pseudo code for problem statement.
int main(int argc, char* argv[])
{
istream reader;
ostrea writer;
if (argc > 1)
{
// we have path to our file in argv[]
reader = ifstream(infile);
writer = ofstream(outfile);
}
else
{
reader = cin;
writer = cout;
}
// rest of code
}
Run Code Online (Sandbox Code Playgroud)
从本质上讲,即使我的想法很复杂,有没有办法实现类似的目标。谢谢!
使用的环境:C++ 11、14、17。
编辑#1:详细说明if条件,如果程序被称为
$: driver "input_file.txt" "output_file.txt"
Run Code Online (Sandbox Code Playgroud)
它应该从这些文件中执行 IO,相反,如果这样调用,
$: driver < "input_file.txt" > "output_file.txt"
Run Code Online (Sandbox Code Playgroud)
它应该使用std::cin和std::cout …