- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在编译 gcc 并阅读来自 https://gcc.gnu.org/install/configure.html 的手册
具体说明
--with-local-prefix=dirname Specify the installation directory for local include files. The default is /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.
我认为这意味着当使用这个版本的 GCC 编译其他二进制文件时,它会在默认的 /usr/.../
目录之前检查这个目录?
--with-sysroot=dir Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. Target system headers, libraries and run-time object files will be searched for in there. More specifically, this acts as if --sysroot=dir was added to the default options of the built compiler. If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include.
为了编译 GCC 5.4.0,我 yum install gcc gcc-c++
(即 4.8.0)并将诸如 stdio.h
的头文件放在 /usr/包含/
。在我编译 GCC 5.4.0 并指定它编译另一个二进制文件后,5.4.0 似乎使用 /usr/include/
中的 4.8.0 header ,而不是在 5.4 期间创建的 header 。 0编译。
我真正想问的是,如果我想编译 GCC (5.4.0) 并将 make install
安装 header 以及 GCC 和 G++ 等安装到自定义文件夹中,有哪些选项我设置?我用于编译 GCC 5.4.0 的配置是否正确?
/home/myuser/gcc-5.4.0/configure --prefix=/home/gcc540 --disable-multilib --with-system-zlib --enable-languages=c,c++ --with-local-prefix=/home/myotherbin/local --with-gxx-include-dir=/home/gcc540/header
--prefix=/home/gcc540
设置主目录 make install
--prefix=/home/gcc540/bin
make install
将安装二进制文件(gcc、g++ 等)--prefix=/home/gcc540/lib
make install
将安装库--with-gxx-include-dir=/home/gcc540/headers
make install
将为 --enable-languages=c 安装 header , C++
--with-local-prefix=/home/otherprogs
(首先在此处搜索来自其他依赖项的库和 header )即,如果我正在编译 ffmpeg,我会把 x264 header 放在这里<那么 --with-sysroot=dir
||--with-native-system-header-dir=dir
中的内容是什么?
此外,在我导出到 --with-gxx-include-dir=/home/gcc540/headers
后,我有 tr1/stdio.h
,其中包括以下代码,
#include <tr1/cstdio>
这会导致错误,因为 stdio.h
和 cstdio
都在同一个文件夹中,应该将 stdio.h
复制到父级文件夹,或者最好的做法是将 -I/home/gcc540/headers
-I/home/gcc540/headers/tr1` 传递给 gcc 5.4.0?
最佳答案
--with-sysroot
选项仅在构建交叉编译器时有用:生成的构建 gcc 将知道在哪里可以找到目标平台的头文件和库(即,它将有一个--sysroot 选项的默认值)。 --with-native-system-header-dir
是 --with-sysroot
选项的改进,允许指定目录相对 到为 --with-sysroot
指定的那个,将在其中找到 native 平台 header 。 GCC 将其自己的 header (它作为 make install
的一部分复制的 header )与操作系统本身提供的“ native ” header 区分开来,并且无论 GCC 安装如何都已经存在。
关于c++ - 不懂 gcc --with-local-prefix, --with-native-system-header-dir=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37952318/
所以我今天在学习c。我编写了一些代码以使用 getchar() 获取输入并将其保存在变量中以了解整数输入的工作原理。 因此,如果用我的键盘输入“1”,然后按回车键,我会返回 4910 的值。我预计 4
我是一个非常沮丧的新手!我真的不知道从哪里开始。我有一个基于傻瓜书中的应用程序的应用程序。成功了。然后尝试将其转换为使用 WIMMOne 对话框来显示时间和日期。经过一系列错误的启动后,我加载了他们的
我们刚刚使用 bitbucket 建立了一个项目。我们将“生产”[P] 代码放在一个存储库中,然后我创建了它的一个分支 [m],然后我的同事 [C] 也创建了一个分支。 [P] /
我不明白我看到的错误,也不明白我应该在我的 ESLint 配置中更改什么来修复它,在深入研究了一段时间之后。 我有一段使用 ECMA 版本 6 (ES6) 的 JS 代码,如下所示: const la
我的代码有很多问题。编译时出现以下错误: “Ecommerce.DataHelpers.ProductNodeLoader”未实现接口(interface)成员“System.Collections.
我不明白这个语法是如何工作的,也找不到关于它的文档: word = '123xyz567' s = ''.join (c if c.isdigit() else ' 'for c in word) 第
不知道怎么解释,是在IE7中出现的,右边的DIV向右浮动,取消设置它的宽度,左边 float 的子DIV会变成和父DIV一样宽。 http://jsfiddle.net/dyvar/1/ IE 7 最
$newUser.addClass(newTweet.user).attr('data-user', newTweet.user).text('@' + newTweet.user + ': ');
我有一个带有输入框的 tkinter GUI,我只想允许数字。有人可以向我解释验证中每个命令/代码行的作用。我不明白 vcmd 变量和所有 '%i' '%s' 的东西。谢谢:) 更新:我有一个不同的应
我正在尝试使用 Richard Dawkin 的 Weasel Program 的 Python 版本这演示了随机选择与累积选择之间的差异,并且我的变异算法存在一些问题。我想也许我不明白如何使用Pyt
我正在学习嵌套,我的任务是让每一行都以缩进开头。这是我的代码,但它不起作用 $nestingDepth = 0 def logger description, &block puts "Beg
我正在编译 gcc 并阅读来自 https://gcc.gnu.org/install/configure.html 的手册 具体说明 --with-local-prefix=dirname Spec
我是一名优秀的程序员,十分优秀!