Файл не найден collect2 exe
int empty_str (char *s); //ПРОВЕРЯЕТ, ПУСТА СТРОКА ИЛИ НЕТ.
void format_cmd (char *s); //КОРРЕКТИРУЕТ ФОРМАТ КОМАНДЫ ДЛЯ СРАВНЕНИЯ С ЗНАЧЕНИЯМИ ИЗ ПЕРЕЧИСЛЕНИЯ.
void doubledec (char *s); //РАБОТА С ВЕЩЕСТВЕННЫМИ ЧИСЛАМИ. ПРОВЕРЯЕТ, ЧТО ЭТО DOUBLE.
void intdec (char *s); //РАБОТА С ДЕСЯТИЧНЫМИ ЧИСЛАМИ. ПРОВЕРЯЕТ, ЧТО ЭТО ДЕС. ЧИСЛО.
void binary (char *s); //РАБОТА С ДВОИЧНЫМИ ЧИСЛАМИ. ПРОВЕРЯЕТ, ЧТО ЭТО ДВ. ЧИСЛО.
void octal (char *s);
void hexadec (char *s);//РАБОТА С ЦЕЛЫМИ ШЕСТНАДЦАТЕРИЧНЫМИ ЧИСЛАМИ. ПРОВЕРЯЕТ, ЧИСЛО ЛИ ЭТО.
int is_state_change (char *s); //ПРОВЕРЯЕТ, ЕСТЬ ЛИ КОМАНДА СМЕНЫ СОСТОЯНИЯ.
class calculator public:
calculator (); //конструктор
double current_value;//Текущее значение
int main()num_sys state = dbl;
calculator calc;
char str [100];
//ВОЗВРАЩАЕТ i - НОМЕР константы в перечислении.
if (is_state_change (str) !=-1) state = (num_sys) is_state_change (str);
>;
//Вызываем функцию по проверке правильности ввода числа, в зависимости от значения переменной state (текущей СС).
switch (state) case '0': doubledec (str);
break;
case '1': binary (str);
break;
case '2': octal (str);
break;
case '3': intdec (str);
break;
case '4': hexadec (str);
break;
//default: ;
Дмитрий правильно описал причину, но решение неправильно. Надо определить сами функции, а не только дать их прототипы.
Они написаны в том же файле вместе с прототипами. (Причем раньше он не ругался, а после оператора switch в ф-ции main() начал.
Комппиллятор не знает где искать все эти функии
:\Users\TATIANA\AppData\Local\Temp\ccKtnbxh.oe4.cpp:(.text+0x811): undefined reference to `doubledec(char*)'
C:\Users\TATIANA\AppData\Local\Temp\ccKtnbxh.oe4.cpp:(.text+0x81f): undefined reference to `binary(char*)'
C:\Users\TATIANA\AppData\Local\Temp\ccKtnbxh.oe4.cpp:(.text+0x83b): undefined reference to `intdec(char*)'
C:\Users\TATIANA\AppData\Local\Temp\ccKtnbxh.oe4.cpp:(.text+0x849): undefined reference to `hexadec(char*)'
Подключи правильно заголовочные файлы и все будет нормально.
r Просветленный (31775) void doubledec (char *s); Это не функция. Это только объявление функции, что такая существует. А что должен подключить линковщик?
Понадобилась функция, делающая скриншот в программе и сохраняющая его в файл. Я нашёл несколько таких функций, но каждая (!) из них при добавлении в программу заставляет её выдавать при компиляции вот такую ошибку:
C:\\collect2.exe [Error] ld returned 1 exit status
Причём других ошибок нет, или я их исправляю. Обычно такая ошибка происходит, когда у меня код уже скомпилирован и запущен .exe, и я пытаюсь ещё раз его скомпилировать и запустить. Но, разумеется, я всё перепробовал, даже запускал код на другом компе (но тоже в Dev) - такая же ошибка.
Если убрать эту функцию, то код снова нормально работает. Подскажите, что делать?
Вот текущий код с одним из вариантов функции, делающий скриншот:
@VladD, а это разве может являться причиной? Ведь это библиотеки, которые относятся к советам, но никак не к получению скриншота
Столкнулся с подобной проблемой. Оказалось , что в секции private slots указан несуществующий обработчик события. Это стало возможным после переименования кнопки.
3 ответа 3
ld returned 1 exit status обычно означает, что у Вас в коде есть недопустимые символы. Они могут там быть даже если их вроде и не видно, например, русская буква е от английской e на первый взгляд ничем не отличается. Обычно это результат копипасты. Так как функция небольшая, то самый простой вариант для Вас решить проблему - переписать ее (вернее, всю копипасту) руками.
Update Так же, проблемой может быть неподключенная библиотека. Нужно посмотреть по списку подключенных заголовочных файлов, к каким библиотекам они относятся и в натсройках проекта добавить все отсутствующие библиотеки.
Проблемой может быть и какой-то неподключенный заголовочный файл. Тут надо смотреть по названиям используемых функций и искать заголовки, где они объявлены.
спасибо! Попробую! Правда, странно, что это случалось с несколькими разными реализациями этой функции, ну ладно, всякое бывает)
Может быть, виноват был самый первый вариант. Если вставляли в один и тот же файл, от него могло что-то остаться. Лучше, вообще говоря, попробовать в совсем новом файле. Еще (но, на мой взгляд, менее вероятно) может быть, что виноват сайт, если примеры были с одного сайта, или браузер, которые добавили что-то лишнее в тексты.
Немного дополнил ответ, еще может быть проблема в том, что Вы какую-то необходимую библиотеку не подключили.
пробовал в разных файлах и на разных компьютерах (но в Dev), и с разных сайтов. На счёт библиотек - странно, а разве не выдаст ошибку о том, что что-то (тип, функция и т.д.) не описано? Если нужная библиотека или заголовочный файл не подключен? И ещё: у меня не проект, а просто программа отдельная, и настроек проекта у меня нет. Но, наверное, можно подключить библиотеки и в самой IDE. Я так понимаю, мне нужно заходить во все подключаемые файлы (которые относятся к функции скриншота) и искать все подключения, кончающиеся на .lib, и их подключать где-то в настройках IDE?
Нет, Вам нужно на MSDN найти описание каждого заголовочного файла или используемой функции и подключить в настройках проекта (или в командной строке при запуске линкера) библиотеки, указанные в описании.
Файл collect2.exe считается разновидностью файла Windows Executable. Наиболее часто он используется в ПО C-Free 5.0 Pro, разработанном компанией Program Arts. Он использует расширение EXE и считается файлом Win32 EXE (Windows Executable).
Файл collect2.exe впервые был выпущен в ОС Windows 10 04/27/2015 с Orwell Dev-C++ 5.11. Самый последний выпуск для C-Free 5.0 Pro состоялся 01/04/2010 [версия 5.0 Pro].
В этой статье приведены подробные сведения о collect2.exe, руководство по устранению неполадок с файлом EXE и список версий, доступных для бесплатной загрузки.
Совместимость с Windows 10, 8, 7, Vista, XP и 2000
Средняя оценка пользователей
Сведения о разработчике и ПО | |
---|---|
Программа: | C-Free 5.0 Pro |
Разработчик: | Program Arts |
Программное обеспечение: | C-Free |
Версия ПО: | 5.0 Pro |
Сведения о файле | |
---|---|
Точка входа: | 0x1280 |
Размер кода: | 70144 |
Информация о файле | Описание |
---|---|
Размер файла: | 86 kB |
Дата и время изменения файла: | 2019:12:31 10:42:00+00:00 |
Тип файла: | Win32 EXE |
Тип MIME: | application/octet-stream |
Тип компьютера: | Intel 386 or later, and compatibles |
Метка времени: | 2008:04:23 21:13:07+00:00 |
Тип PE: | PE32 |
Версия компоновщика: | 2.56 |
Размер кода: | 70144 |
Размер инициализированных данных: | 86528 |
Размер неинициализированных данных: | 1536 |
Точка входа: | 0x1280 |
Версия ОС: | 4.0 |
Версия образа: | 1.0 |
Версия подсистемы: | 4.0 |
Подсистема: | Windows command line |
✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.
Шаг 3. Выполните обновление Windows.
Если ни один из предыдущих трех шагов по устранению неполадок не разрешил проблему, можно попробовать более агрессивный подход (примечание: не рекомендуется пользователям ПК начального уровня), загрузив и заменив соответствующую версию файла collect2.exe. Мы храним полную базу данных файлов collect2.exe со 100%-ной гарантией отсутствия вредоносного программного обеспечения для любой применимой версии C-Free . Чтобы загрузить и правильно заменить файл, выполните следующие действия:
Windows 10: C:\Program Files (x86)\Dev-Cpp\MinGW64\libexec\gcc\x86_64-w64-mingw32\4.9.2\
Windows 10: C:\Program Files (x86)\C-Free 5\mingw\libexec\gcc\mingw32\3.4.5\
Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.
СОВЕТ ОТ СПЕЦИАЛИСТА: Мы должны подчеркнуть, что переустановка Windows является достаточно длительной и сложной задачей для решения проблем, связанных с collect2.exe. Во избежание потери данных следует убедиться, что перед началом процесса вы создали резервные копии всех важных документов, изображений, установщиков программного обеспечения и других персональных данных. Если вы в настоящее время не создаете резервных копий своих данных, вам необходимо сделать это немедленно.
вывод компилятора показывает:
Running build steps for project untitled.
Configuration unchanged, skipping QMake step.
Starting: C:/Qt/2009.03/mingw/bin/mingw32-make.exe -w
mingw32-make: Entering directory `D:/flash/OES/SAODLab_2/untitled'
C:/Qt/2009.03/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `D:/flash/OES/SAODLab_2/untitled'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,console -mthreads -Wl -o debug\untitled.exe debug/main.o -L"c:\Qt\2009.03\qt\lib" -lQtCored4
debug/main.o: In function `Z10RadixMsd_dPdllj':
D:/flash/OES/SAODLab_2/untitled/ch13/ALLSORT.H:943: undefined reference to `double2key(double)'
mingw32-make[1]: Leaving directory `D:/flash/OES/SAODLab_2/untitled'
mingw32-make: Leaving directory `D:/flash/OES/SAODLab_2/untitled'
D:/flash/OES/SAODLab_2/untitled/ch13/ALLSORT.H:952: undefined reference to `double2key(double)'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\untitled.exe] Error 1
mingw32-make: *** [debug] Error 2
Exited with code 2.
Error while building project untitled
When executing build step 'Make'
сам проет во вложении
проблема возникает при смене типа данных Etype
collect2: ld returned 1 exit status
Хочу собрать примерчик из книжечки Земского по Qt4 и уже при объявлении некоторых кнопок возникает.
:: error: collect2: ld returned 1 exit status
При компиляции выводит такую ошибку :: error: collect2: ld returned 1 exit status. в чем проблема.
Ошибка сборки проекта ld returned 1 exit status (Qt Creator)
Здравствуйте, только начал изучать Qt. При попытке собрать проект выдает collect2.exe: error: ld.
Ошибки в коде Qt - ошибка: undefined reference to `qMain(int, char**)'; ошибка: error: ld returned 1 exit status
Здравствуйте, есть проект в нем 2 ошибки, не очень понимаю как их можно решить. Помогите, буду.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
mironyuk
Marlin 2.0.8, COREXY, 3D TOUCH
все работало нормально. Не знаю, что сделал ,но ошибка при компиляции вылезает не зависимо от
-компа
-смены прошивки вплоть до чистой или родной заводской
-перезагрузки компа
-удаления полного VC и установки заново
В общем, мумукаюсь уже два дня, начинаю беситься.
Наверняка кто-то тоже сталкивался с такой проблемой, отзовитесь.
Прошивку прицепил.
Вложения
Эдуард Анисимов
mironyuk
Шаг 2. Если вы недавно установили приложение C-Free (или схожее программное обеспечение), удалите его, затем попробуйте переустановить C-Free.
Чтобы удалить программное обеспечение C-Free, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):
После полного удаления приложения следует перезагрузить ПК и заново установить C-Free.
Если на этапе 2 также не удается устранить ошибку collect2.exe, перейдите к шагу 3 ниже.
03-05.7z
может это поможет.
Эдуард Анисимов
mironyuk
я не программист, от слова Далеко, извините. Что я должен сделать с этим ромом? ну, и с предупреждениями?
Спасибо.
предупреждения и раньше были (это желтым, я понимаю), может не столько, как сейчас, но все работало. Вот начал автоуровень приделывать и кое что подкорректировал в прошиве, может и не туда ткнул где-то.
попробую вот так
Эдуард Анисимов
mironyuk
если под железкой понимается комп, то я делал на другом компе и тоже самое происходит
достал старую прошивку, предупреждений нет, переполнения ром тоже нет, но появилось новое чего то там в файле .ld
Эдуард Анисимов
А обновления PlatformIO перед этим не было?
Я столкнулся с тем, что писал на старом, на компе, где нет интернета. И всё работало.
Дома обновился и всё перестало работать.
А почему не пишете под CubeIDE?
А судя по логу, ему скрипт для F103VC не нравится.
mironyuk
я сносил два раза VC полностью и устанавливал, но вроде не писал мне VC что обновляет Платформио.
А почему не пишете под CubeIDE?\\ я даже не знаю, что это, я далек от понимания языка С и пр. Просто обновил плату на 32 бит, за ней потянулся Марлин 2.0, ну и далее вопрос чем компилить, увидел VC и вперед.
А судя по логу, ему скрипт для F103VC не нравится. \\ ну это "вдруг" сейчас ему не нравится, а всегда нравился, вроде.
ааааа, со старой прошивой сам баран - перенес ее в новую папку и обозвал кирилицей папку АРХИВ. блин, сам на эти грабли уже наступал. Так вот, когда АРХИВ переименовал в STORAGE, то все скомпилировалось!! Таакс, значит дело не в VC. Надо, наверное, сравнить построчно обе прошивы и найти разницу, в этой разнице и кроется ошибка или опять же русская буква закралась в команду.
Эдуард Анисимов
Вот про эту возможность я всегда забываю. Так как никогда ни пользователя, ни каталог для проекта не создаю кириллицей.
И в логах ошибки ничего не было. Поэтому и забыл.
А сравнивать построчно удобно TotalCommander. Файловый менеджер с кучей фич в максимальной комплектации.
collect2.exe — ошибки выполнения
Ошибки выполнения — это ошибки C-Free, возникающие во время «выполнения». Термин «выполнение» говорит сам за себя; имеется в виду, что данные ошибки EXE возникают в момент, когда происходит попытка загрузки файла collect2.exe — либо при запуске приложения C-Free, либо, в некоторых случаях, во время его работы. Ошибки выполнения являются наиболее распространенной разновидностью ошибки EXE, которая встречается при использовании приложения C-Free.
К числу наиболее распространенных ошибок collect2.exe относятся:
Не удается запустить программу из-за отсутствия collect2.exe на компьютере. Попробуйте переустановить программу, чтобы устранить эту проблему.
Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.
Поиск причины ошибки collect2.exe является ключом к правильному разрешению таких ошибок. Несмотря на то что большинство этих ошибок EXE, влияющих на collect2.exe, происходят во время запуска, иногда ошибка выполнения возникает при использовании C-Free 5.0 Pro. Причиной этого может быть недостаточное качество программного кода со стороны Program Arts, конфликты с другими приложениями, сторонние плагины или поврежденное и устаревшее оборудование. Кроме того, эти типы ошибок collect2.exe могут возникать в тех случаях, если файл был случайно перемещен, удален или поврежден вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.
Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.
Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):
Если на этапе 1 не удается устранить ошибку collect2.exe, перейдите к шагу 2 ниже.
Читайте также: