Большая часть моей команды использует файл .bat для установки путей, а затем запускает сборку. Базовый файл позволяет выбирать несколько разных компиляторов/целевых платформ, но все они используют некоторую версию GCC/G ++ или аналогичного компилятора.Ошибка «program not found» в Eclipse CDT
Я создал проект Eclipse, который просто использует файл .bat, вместо того, чтобы повторно изобретать колесо и отслеживать все пути, необходимые для каждой сборки (которые мне нужно будет обновлять, если кто-либо когда-либо обновлял .bat-файл в любом случае).
Это работает отлично подходит для строительства, и я даже могу видеть ошибки компилятора/предупреждение, но есть некоторые дополнительные ошибки всегда присутствуют:
Program "gcc" not found in PATH
Program "g++" not found in PATH
Я видел много вопросов по поводу этих и подобных ошибок, но в в том случае, если пользователь не смог построить, и было решение установить инструменты и/или обновить их настройки среды PATH или Eclipse. Я не хочу этого делать; все инструменты, которые мне нужны, установлены, и файл .bat отлично работает, чтобы установить PATH для построения. Есть ли способ подавить эти ошибки или Eclipse не пытается найти исполняемый файл компилятора, так как сборка в любом случае выполнена?
Редактировать: Как было предложено в ответе я получил до сих пор, здесь выводится на консоли после ввода полного пути к компилятору в глобальных параметрах обнаружения, которые не совсем мой любимый даже если бы это сработало, но я, вероятно, справимся с этим. Независимо от того, что ошибки не уходят:
15:27:24 **** Running scanner discovery: CDT GCC Built-in Compiler Settings MinGW ****
"C:\\redacted\\localapps\\MinGW5\\bin\\g++.exe" -E -P -v -dD C:/Project_Files/redacted/code_workspaces/redacted/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.C
Reading specs from C:/redacted/localapps/MinGW5/bin/../lib/gcc/mingw32/3.4.2/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.2 (mingw-special)
C:/redacted/localapps/MinGW5/bin/../libexec/gcc/mingw32/3.4.2/cc1plus.exe -E -quiet -v -P -iprefix C:\redacted\localapps\MinGW5\bin\../lib/gcc/mingw32/3.4.2/ C:/Project_Files/redacted/code_workspaces/redacted/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.C -dD
ignoring nonexistent directory "C:/redacted/localapps/MinGW5/bin/../lib/gcc/mingw32/3.4.2/../../../../mingw32/include"
#define __cplusplus 1
ignoring nonexistent directory "/mingw/lib/gcc/mingw32/../../../include/c++/3.4.2"
#define __STDC_HOSTED__ 1
ignoring nonexistent directory "/mingw/lib/gcc/mingw32/../../../include/c++/3.4.2/mingw32"
#define __GNUC__ 3
ignoring nonexistent directory "/mingw/lib/gcc/mingw32/../../../include/c++/3.4.2/backward"
...
А потом куча #define
сек
командной строки я в опциях обнаружения для этого вывода был C:\redacted\localapps\MinGW5\bin\${COMMAND}.exe ${FLAGS} -E -P -v -dD "${INPUTS}"
.
Запускаете ли вы Eclipse CDT из файла bat или файл bat, используемый для сборки? Также вы можете уточнить, где вы видите ошибку? В консоли CDT Build (для каждого проекта или глобального), другой консоли или где-то еще? –
Я использую файл .bat в конфигурации сборки в Eclipse, я не запускаю Eclipse из .bat-файла. Эти ошибки появляются в представлении проблем в Eclipse, а не в консоли сборки. – Ben
Я угадал вашу проблему на основе предоставленной информации. Если мой ответ неверен, укажите подробные сведения из представления «Проблема», а также версию CDT/Eclipse, которую вы используете, поскольку качество сообщений об ошибках может быть лучше в более поздних версиях. –