Компиляция с ICC-статической проблемой - PullRequest
3 голосов
/ 20 декабря 2010

Я использую ICC для компиляции программы, которую я написал для своего исследования (ничего впечатляющего, только много вычислений с плавающей запятой), и я могу скомпилировать ее просто отлично, используя:

 g++ -O3 mixingModel.cpp configFile.cpp -o mixingModel  

или

 icc -O3 -ipo -static mixingModel.cpp configFile.cpp -o mixingModel

Однако, как только я добавлю -static, компилятор просто зависнет.Эта проблема впервые возникла, когда я захотел использовать -fast, и компилятор просто сидел и компилировался вечно.Процесс, который выполняется, называется mcpcom, и он занимает 99% моего процессора (то есть одного потока) и почти не занимает памяти.Я оставил его там более 30 минут назад (обычное время компиляции без -fast меньше одной минуты).

Затем я написал небольшую программу hello world на c ++ и попытался скомпилировать ее с -быстрый флаг и он снова показал тот же МО.Сел там с 99% использованным процессором и процесс называется mcpcom.

Примечание: я компилирую на 64-битной Linux с ICC версии 11.1 20100806

Спасибо,

Патрик

1 Ответ

5 голосов
/ 21 декабря 2010

Вероятно, это связано с межпроцедурной оптимизацией icc.Он учитывает все объектные файлы, которых может быть много при выполнении статических ссылок.Поэтому рекомендую сбросить -ipo.Видимо, это старая проблема .

...