GVKun编程网logo

./configure -build,-host,-target 设置(configure build type)

31

在这篇文章中,我们将为您详细介绍./configure-build,-host,-target设置的内容,并且讨论关于configurebuildtype的相关问题。此外,我们还会涉及一些关于.NET

在这篇文章中,我们将为您详细介绍./configure -build,-host,-target 设置的内容,并且讨论关于configure build type的相关问题。此外,我们还会涉及一些关于.NET Core 中的命名问题:Startup 中的 ConfigureServices 与 Configure、ASP.NET Core 1.0 ConfigurationBuilder().AddJsonFile(“appsettings.json”);找不到文件、asp.net-core – 在asp.net vnext中使用Startup.cs中的ConfigureServices和Configure方法、CMake,如何在 Build vs Install 的 configure_file 中设置不同的值的知识,以帮助您更全面地了解这个主题。

本文目录一览:

./configure -build,-host,-target 设置(configure build type)

./configure -build,-host,-target 设置(configure build type)

build: 执行代码编译的主机,正常的话就是你的主机系统。这个参数一般由 config.guess 来猜就可以。当然自己指定也可以。
host: 编译出来的二进制程序所执行的主机,因为绝大多数是如果本机编译,本机执行。所以这个值就等于 build。只有交叉编译的时候(也就是本机编译,其他系统机器执行)才会 build 和 host 不同。用 host 指定运行主机。
target: 这个选项只有在建立交叉编译环境的时候用到,正常编译和交叉编译都不会用到。他用 build 主机上的编译器,编译一个新的编译器(
binutils, gcc,gdb 等),这个新的编译器将来编译出来的其他程序将运行在 target 指定的系统上。
让我们以编译 binutils 为例:
1. `./configure --build=mipsel-linux --host=mipsel-linux --target=mipsel-linux'' 
说明我们利用
mipsel-linux 的编译器对 binutils 进行编译,编译出来的 binutils 运行在 mipsel-linux,这个 binutils 用来编译能够在 mipsel-linux 运行的代码。“当然没有人会用这个选项来编译 binutils”

2. `./configure --build=i386-linux --host=mipsel-linux
--target=mipsel-linux'' will cross-build native mipsel-linux binutils oni386-linux.

说明我们利用 i386-linux 的编译器对 binutils 进行编译,编译出来的 binutils 运行在 mipsel-linux,这个 binutils 用来编译能够在 mipsel-linux 运行的代码。“这个选项可以用来为其他的机器编译它的编译器”。

3. `./configure --build=i386-linux --host=i386-linux
--target=mipsel-linux'' will build mipsel-linux cross-binutils on i386-linux.

说明我们利用 i386-linux 的编译器对 binutils 进行编译,编译出来的 binutils 运行在 i386-linux,这个 binutils 用来编译能够在 mipsel-linux 运行的代码。“这个选项用来在 i386 主机上建立一个 mipsel-linux 的交叉编译环境”。

4. `./configure --build=mipsel-linux --host=i386-linux
--target=mipsel-linux'' will cross-build mipsel-linux cross-binutils for
i386-linux on mipsel-linux.
说明我们利用 mipsel-linux 的编译器对 binutils 进行编译,编译出来的 binutils 运行在 i386-linux,这个 binutils 用来编译能够在 mipsel-linux 运行的代码。“这个选项可以用来在 i386 主机上建立一个 mipsel-linux 的交叉编译环境,但是交叉编译环境在 mipsel-linux 编译出来,安装到 i386-linux 主机上,估计没有多少人会这么用吧

总的来说,只有 host !=build 的时候编译才是交叉编译。否则就是正常编译。


.NET Core 中的命名问题:Startup 中的 ConfigureServices 与 Configure

.NET Core 中的命名问题:Startup 中的 ConfigureServices 与 Configure

ConfigureServices 用于配置依赖注入以在运行时根据依赖关系创建对象,Configure 用于配置中间件(middleware)以构建请求处理流水线。

ConfigureServices 就是给工作岗位安排人员,Configure 是制定工作流程。

ASP.NET Core 1.0 ConfigurationBuilder().AddJsonFile(“appsettings.json”);找不到文件

ASP.NET Core 1.0 ConfigurationBuilder().AddJsonFile(“appsettings.json”);找不到文件

所以我终于找到了核心,我已经陷入了第一个障碍.我正在遵循Pluralsight ASP.NET核心基础课程,当尝试将appsettings.json文件添加到配置生成器时,我遇到异常.
public Startup()
{
    var builder = new ConfigurationBuilder()
        .AddJsonFile("appsettings.json");

    Configuration = builder.Build();
}

我得到的错误是没有找到配置文件“appsettings.json”,不是可选的.但是我已经直接在我的解决方案下创建了,就像在课程视频中一样.

有什么建议么?

干杯,

@R_301_5609@

您需要添加以下包:
"Microsoft.Extensions.Configuration.Json": "1.0.0"

asp.net-core – 在asp.net vnext中使用Startup.cs中的ConfigureServices和Configure方法

asp.net-core – 在asp.net vnext中使用Startup.cs中的ConfigureServices和Configure方法

我想更好地理解startup.cs类中的ConfigureServices和Configure方法之间的差异.
比较初学者应用程序的启动类和来自 github的音乐商店应用程序似乎是以一种非常不同的方式进行配置,所以我不太清楚哪个是差异,哪些必须在每个内部完成.

解决方法

ConfigureServices方法用于配置DI容器及其服务. Configure方法通常用于配置管道.

CMake,如何在 Build vs Install 的 configure_file 中设置不同的值

CMake,如何在 Build vs Install 的 configure_file 中设置不同的值

如何解决CMake,如何在 Build vs Install 的 configure_file 中设置不同的值?

我有一个带有 CTest 和 CPack 的简单 CMake project。它使用 Lua C API 加载和执行名为 script.lua 的脚本文件。 此脚本在构建时与安装/打包时将位于不同的位置,其位置为:

[build]  : ${CMAKE_CURRENT_SOURCE_DIR}/src/scripts
[install]: ../scripts (relative to app which is in bin directory)

我在这里试图实现的是让安装步骤重新生成 configure_file,然后使用新的 configure_file 重建,然后才继续执行正常的安装步骤,当然之后将 configure_file 恢复到其原始状态。

感谢有关此问题的任何帮助。

解决方法

我的理解是,CMake 的 configure_file 命令在 cmake 程序的执行过程中发挥了全部作用。它在生成的 makefile 或任何其他构建系统组件 cmake 生成中没有表示。因此,如果您想为安装配置一个不同于预安装测试的文件,

  1. 您需要针对这两种情况执行完全独立的构建(从执行 cmake 开始),并且

  2. 您需要使用 cmake 命令行或执行环境的某些属性来传达所需信息,例如使用 -D 选项在命令行上定义 CMake 变量.

我劝你不要走这条路。除了过于复杂之外,安装与测试版本不同的软件版本也是一种糟糕的形式。

您有多种可以提供更好服务的替代方案。其中有

  • 让程序本身能够接受 Lua 脚本的自定义位置。也就是说,使其识别用于此目的的命令行参数或环境变量。在安装前测试期间利用它。

  • 如果程序确实在运行时使用相对路径来定位脚本,那么只需(让 CMake)将脚本的副本放在构建树中的适当位置,以便程序找到它通常在测试期间。

关于./configure -build,-host,-target 设置configure build type的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.NET Core 中的命名问题:Startup 中的 ConfigureServices 与 Configure、ASP.NET Core 1.0 ConfigurationBuilder().AddJsonFile(“appsettings.json”);找不到文件、asp.net-core – 在asp.net vnext中使用Startup.cs中的ConfigureServices和Configure方法、CMake,如何在 Build vs Install 的 configure_file 中设置不同的值等相关内容,可以在本站寻找。

本文标签: