标准命令模板
dotnet new console
包含 #if 用于预处理器:
#if (csharpFeature_TopLevelProgram)
// See https://aka.ms/new-console-template for more information
#endif
#if (!csharpFeature_ImplicitUsings)
using System;
#endif
#if (csharpFeature_TopLevelProgram)
Console.WriteLine("Hello, World!");
#else
namespace Company.ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
#endif
Run Code Online (Sandbox Code Playgroud)
我应该指定什么命令行开关,dotnet new以便不定义变量“csharpFeature_TopLevelProgram”,这样当我执行dotnet new console该文件时,不是为Net6生成文件,而是像以前在旧的Net5中那样没有TopLevelProgram?
我运行 x86_64 Fedora Linux 31 主机并想编译一些最简单的 Rust 代码:
fn main() {
println!("Hello, world!");
}
Run Code Online (Sandbox Code Playgroud)
它从主机编译到这个主机本机很好,但是当我尝试将它交叉编译到 i686 或 x86_64 窗口时,它无法编译。
我阅读了stackoverflow(例如here)并在互联网上搜索了类似的问题以及如何解决它,但没有任何收益。
我已经安装了所有必要的目标:
[pfemidi@pfemidi hello_cargo]$ rustup show
Default host: x86_64-unknown-linux-gnu
rustup home: /home/pfemidi/.rustup
installed targets for active toolchain
--------------------------------------
i686-pc-windows-gnu
i686-unknown-linux-gnu
i686-unknown-linux-musl
x86_64-pc-windows-gnu
x86_64-unknown-linux-gnu
x86_64-unknown-linux-musl
active toolchain
----------------
stable-x86_64-unknown-linux-gnu (default)
rustc 1.39.0 (4560ea788 2019-11-04)
[pfemidi@pfemidi hello_cargo]$
Run Code Online (Sandbox Code Playgroud)
我已经将 mingw32 安装为 mingw64,这个小测试 C++ 代码已经被 mingw32 编译为 mingw64 就好了,没有错误:
#include <iomanip>
#include <iostream>
int main() {
std::cout << "Hello, world!" << std::endl;
return …Run Code Online (Sandbox Code Playgroud)