Доморощенный компилятор по умолчанию


1

Я читал подобные темы здесь, но, к сожалению, эти решения мне не помогают.

Я хотел бы перекомпилировать все установленное программное обеспечение (или, по крайней мере, некоторые формулы) из Homebrew, используя gccfrom Homebrew.

Можно ли принудительно Homebrewиспользовать определенные параметры компилятора ( напримерgcc ) и параметры компилятора ( например, библиотеку std, используемую для компоновки )?

Я попытался установить все виды переменных среды, но это не помогает: /?

0/> env | grep CC
HOMEBREW_CC=gcc
CC=/usr/local/bin/gcc
0/kpykc> echo $PATH
/Users/kp/kpykc/devel/bin:/opt/ros/indigo/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin
0/kpykc> ls -la /usr/local/bin/g??-?.?
lrwxr-xr-x  1 kp  admin  31 Nov 24 16:23 /usr/local/bin/g++-4.9@ -> ../Cellar/gcc/4.9.2/bin/g++-4.9
lrwxr-xr-x  1 kp  admin  31 Nov 24 16:23 /usr/local/bin/gcc-4.9@ -> ../Cellar/gcc/4.9.2/bin/gcc-4.9
0/kpykc> ls -la /usr/local/bin/g[c+][c+]
lrwxr-xr-x  1 kp  admin  22 Nov 11 23:54 /usr/local/bin/g++@ -> /usr/local/bin/g++-4.9
lrwxr-xr-x  1 kp  admin  22 Nov 11 23:53 /usr/local/bin/gcc@ -> /usr/local/bin/gcc-4.9

Также пытался использовать это решение .

Причина в том, что я хочу скомпилировать некоторый код * с помощью gcc и связать его с библиотеками, установленными из brew. Но похоже, что gcc не может ссылаться на библиотек, созданных clang. С другой стороны, ему не хватает поддержки некоторых функций C ++ 11, которые требуются программе *, которую я хотел бы скомпилировать.

Поэтому единственное решение, которое я вижу, - это перекомпилировать все необходимые библиотеки с помощью gcc.

Спасибо за помощь.

Обновление (для версий system / compiler / homebrew):

0/kpykc> sw_vers
ProductName:    Mac OS X
ProductVersion: 10.10.1
BuildVersion:   14B25
0/kpykc> brew config
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 32923f435c7cf93820f434d6bdacf3bfdc3695eb
Last commit: 11 days ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit ivybridge
OS X: 10.10.1-x86_64
CLT: 6.1.1.0.1.1416017670
Clang: 6.0 build 600
X11: 2.7.7 => /opt/X11
System Ruby: 2.0.0-481
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.8_2/Frameworks /Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby

В частности, у меня проблемы с кодом, который использует Eigen::aligned_allocator. Я обновил Eigenдо HEADверсии с Homebrew. Я подозреваю, что моя проблема также связана с этой ошибкой . Но это должно быть исправлено HEAD, я так думаю.


В какой ОС - обратите внимание, что проблема не обязательно в компиляторе, а в библиотеке C ++ std, с которой вы связываетесь, - а также в том, какие программы имеют эту проблему; в clang теперь есть хорошие возможности C ++ 11
Mark

Спасибо за разъяснение, в любом случае это добавляет к вопросу "как заставить homebrew использовать определенные параметры компилятора и компилятора, например, использовать библиотеку std"
kpykc
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.