У меня возникли проблемы с настройкой CodeBlocks для нестандартного компилятора. Я боролся с этим в течение 3 или 4 дней (время от времени). Я получаю сообщение об ошибке:
"<project> - Debug" uses an invalid compiler. Probably the toolchain path
within the compiler options is not setup correctly?!
Мне нужно использовать следующие настройки при создании этого проекта. Он интегрируется с библиотекой OpenSSL с поддержкой FIPS. Библиотека OpenSSL с поддержкой FIPS была собрана из исходников и установлена в /usr/local/ssl
:
$ export CC=`find /usr/local/ssl -name fipsld`
$ export FIPSLD_CC=`find /usr/bin -name g++`
$ echo $CC
/usr/local/ssl/fips-2.0/bin/fipsld
$ echo $FIPSLD_CC
/usr/bin/g++
fipsld
скомпилирует fips_premain.c
и выполнит некоторые действия, чтобы убедиться, что подпись модуля встроена в полученный исполняемый файл. Если fipsld
не нужен, то он просто вызывает CC
(следовательно, необходимо установить причину FIPSLD_CC
(см. также комментарий Майка к циклической зависимости)).
Я проделывал это тысячу раз из командной строки с make-файлами, так что я знаю, что это работает.
Окружающая среда
В разделе Настройки -> Среда у меня есть следующее:
Компилятор и отладчик
В разделе Настройки -> Компилятор и отладчик у меня есть следующее:
И:
Проект
В проекте используется компилятор FIPSLD:
Но когда я пытаюсь построить, я получаю следующее:
Я также попытался установить компилятор на полный указанный путь /usr/local/ssl/fips-2.0/bin/fipsld
.
(И я закрывал / открывал CodeBlocks слишком много раз, чтобы сосчитать, и много раз очищал этот проект, чтобы попытаться перечитать настройки конфигурации).
Вопрос
Как установить компилятор на /usr/local/ssl/fips-2.0/bin/fipsld
в CodeBlocks?
И связанный с этим: у меня gdb-7.6.2
установлен в /usr/local/bin
. Но CodeBlocks использует gdb-7.4
, поставляемый с Debian, хотя у меня есть пути, указанные и для отладчика (это путь usr/local
к /usr/local/bin/gdb
). Есть идеи, что здесь не так?
Для полноты это не связано с недопустимой ошибкой цепочки инструментов с Code::Blocks. В этом вопросе SO у OP не была установлена цепочка инструментов.