- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Mac OS X 10.9 (Mavericks)。我最近不得不使用 CMake 和 OpenMP 库编译代码。所以一开始我用 xcode-select --install
下载了 XCode 命令行工具。 .这是问题所在:XCode 使用 clang
不带 OpenMP 的编译器。所以我得到了gcc-4.9
与 brew
包管理器(GCC 有 OpenMP 库)。
它工作正常,但使用它的命令是 gcc-4.9
和 CMake 调用 cc
命令。于是我搜了一下,发现/usr/bin/cc
是指向 /usr/bin/clang
的符号链接(symbolic link).我决定把它改成/usr/bin/gcc
,但问题是:我不知道这个文件是什么......
它看起来像 clang 命令文件:如果我不带任何参数运行它,我会得到 clang 错误而不是 gcc 错误:
$ gcc
clang: error: no input files
$ gcc-4.9
gcc-4.9: fatal error: no input files
compilation terminated.
ls -l
的结果命令 :
-rwxr-xr-x 1 root wheel 14224 23 oct 07:40 gcc
最佳答案
Apple 似乎使用 xcode-select
重定向了一些常见的开发人员命令行工具。二进制。 /usr/bin/gcc
而不是符号链接(symbolic link)调用一个小的二进制文件,它可以选择 gcc
的不同版本根据一些环境变量。
从手册页:
xcode-select controls the location of the developer directory used by
xcrun(1), xcodebuild(1), cc(1), and other Xcode and BSD development
tools. This also controls the locations that are searched for by man(1)
for developer tool manpages.
This allows you to easily switch between different versions of the
Xcode tools and can be used to update the path to the Xcode if it is
moved after installation.
...
After setting a developer directory, all of the xcode-select provided
developer tool shims (see FILES) will automatically invoke the version
of the tool inside the selected developer directory.
我们可以通过查看二进制文件来确认(来自 OS 10.14.6):
$ otool -tvV /usr/bin/gcc
/usr/bin/gcc:
(__TEXT,__text) section
_main:
0000000100000f77 pushq %rbp
0000000100000f78 movq %rsp, %rbp
0000000100000f7b leal -0x1(%rdi), %eax
0000000100000f7e leaq 0x8(%rsi), %rdx
0000000100000f82 leaq 0x29(%rip), %rdi ## literal pool for: "gcc"
0000000100000f89 xorl %ecx, %ecx
0000000100000f8b movl %eax, %esi
0000000100000f8d callq 0x100000f92 ## symbol stub for: _xcselect_invoke_xcrun
关于该主题的一些文章:
关于xcode - Mac os x/usr/bin/gcc 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20663695/
我正在使用源代码中的Postgres 13(Rel_13_STRATE分支),并且我使用的是来自apachea/age源代码的(Release/PG13/1.3.0分支)中的1.3.0版的Apache
/usr/bin/ld: cannot find -ldlib /usr/bin/ld: cannot find -lcblas /usr/bin/ld: cannot find -llapack 在
我正在尝试运行 project 。但它给出了一个错误 fs.js:666 return binding.readdir(pathModule._makeLong(path));
我的新 CentOS7 中有两个目录: Work_Folder1/my_project/linux_dev.cfg Work_Folder2/my_project/linux_dev.cfg 如果我尝
我正在读这个thread和 PostgreSQL 9.4 的手册。我跑 ps auxw | grep postgres | grep -- -D 但是得到 postgres 17340 0.0
我想在我的 shell 中使用系统服务,但该服务的 bin 路径在不同的机器上是不同的(/usr/sbin/myservice 或/usr/local/sbin/myservice)。 那么,我怎样才
我正在为 centos 制定 RPM 规范,如果 arch 是 64 位的,它需要将共享库安装到/usr/lib64,否则需要安装到/usr/lib? 最佳答案 这不是它应该的工作方式。决定库去向的不
我使用 gem install watchr 在 OS X (10.8.3) 上安装了 watchr。它安装在 /usr/bin/watchr $ which watchr /usr/bin/watc
在linux下我们经常用到的四个应用程序的目录是:/bin、/sbin、/usr/bin、/usr/sbin bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp
我在 Pop_OS 下使用 PyCharm 2020.2.3 和 Python 3.8.6! 20.10(你可以像我使用 Ubuntu 20.10 一样)无法在 /usr/bin 或 /usr/lib
我在新的 MacBook 中使用 OS X Yosemite。刚刚安装了 Homebrew 和一些基本的软件包,最近搬到了这台新电脑上。 我注意到,当我安装新的 brew 包时,偶尔会出现链接错误。出
我到 gcc 的链接行连续包含以下两个条目: -lrt -lpam 这似乎扩展为: /usr/lib64/librt.so /usr/lib/libpam.so 为什么 rt 解析为 lib64 而
我有一个大型捆绑软件发行版的错误 Makefile。在某些时候,编译器总是“忘记”我想在 32 位程序中编译。这导致部分程序具有 64 位库,而其他程序具有 32 位库。 如何在每次运行 gcc 时强
如果我安装了Go发行版软件包,则会在/usr/lib/golang/pkg中看到很多文件,在/usr/lib/golang/src中看到非常相似的文件集。这两组之间有什么关系? pkg是从src中的源
我在安装 python 2.7.6 时犯了一个错误,没有使用 home brew,现在我的 python 设置为 /usr/local/bin/python 中的 python(这是 2.7.6)。
我是一名见习程序员,有时我的头脑浮在云端.. 我的同事通过 ssh 连接来搞乱我的专业计算机。其中一位告诉我,防止这种情况发生的最佳方法是保护我的计算机。为了做到这一点,我不小心更改了/usr 目录的
我在 ubuntu 16.04 上尝试编译 fbthrift ( https://github.com/facebook/fbthrift ) 时遇到奇怪的错误 make[4]: Entering d
我遇到了这个奇怪的问题 ag: /usr/lib64/liblzma.so.5: no version information available (required by ag) 由于某种原因,预装
我用的是 ubuntu。 我发现安装的许多 Python 库都在 /usr/lib/python 和 /usr/lib64/python 中。 当我打印一个模块对象时,模块路径显示该模块位于/usr/
在 Linux 上,特别是 Debian Jessie,我应该使用 /usr/bin/python 还是应该在 /usr/local/bin 中安装另一个副本? 据我所知,前者是系统版本,随着操作系统
我是一名优秀的程序员,十分优秀!