Отключить оптимизацию компилятора с GCC 5.4.0 и типом сборки RelWithDebInfo - PullRequest
0 голосов
/ 31 марта 2019

При сборке этого проекта в RelWithDebInfo типе сборки компиляция занимает столько времени, что я просто прекращаю процесс.

Существует большой исходный код ( например, ), и __attribute__((optimize("O0"))) используется для отключения оптимизации компилятора с помощью GCC.

Хотя это работает в режиме Debug или Release, похоже, что это не работает в режиме RelWithDebInfo.

Протестированная среда Ubuntu 16.04 и GCC 5.4.0.

Есть ли обходной путь, чтобы избежать этой проблемы, кроме обновления до новой версии GCC? Это ошибка компилятора?

Чтобы воспроизвести проблему на Ubuntu 16.04 с GCC 5.4.0, что-то вроде:

git clone https://github.com/AprilRobotics/apriltags.git
git checkout 0269850
cd apriltags
mkdir build
cd build
ccmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j4 //this takes too much time with GCC 5.4.0
...