| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > undefined reference to `__assert_fail' |
| Автор: marcusmae 11.7.2008, 23:00 |
| Здравствуйте, Извините, если глупый вопрос... Я знаю, что сабж живёт в glibc, но не знаю, как его подключить Спасибо. |
| Автор: bsa 11.7.2008, 23:32 |
| marcusmae, glibc не надо подключать (ну если очень хочется - параметр -lc), так как подключается по умолчанию. Ты случаем левых параметров (типа -nostdlib и -nodefaultlibs) не использовал? |
| Автор: marcusmae 11.7.2008, 23:37 | ||||
и
-lc не помогает |
| Автор: JackYF 12.7.2008, 02:07 |
| Несоблюдение версий библиотек? |
| Автор: marcusmae 12.7.2008, 12:31 |
JackYF, что имеется в виду? 32/64-битность? |
| Автор: JackYF 12.7.2008, 14:04 |
| marcusmae, нет. Я имел в виду разных набор инклюдов, да и компилятор у тебя нестандартный (сужу по пути). |
| Автор: marcusmae 12.7.2008, 15:33 |
| JackYF, хорошо, я умею проверять, какой хедер используется при компиляции. А как узнать, из какой библиотеки берётся __asser_fail при линковании? |
| Автор: JackYF 13.7.2008, 00:44 | ||
этого я не знаю |
| Автор: marcusmae 13.7.2008, 01:58 |
| Мда, ну вот если ему подсовывать __assert.o или libc.a - не есть, говорит wrong format. Попробовать, может, присоединить исходник?.. |
| Автор: xvr 14.7.2008, 11:41 | ||||||
Судя по преффиксу это gcc для граф. сопроцессоров NVidia? (CUDA) У меня есть большие сомнения, что ей есть куда выводить сообщение из __asser_fail, равно как и сделать после этого abort
|
| Автор: bsa 14.7.2008, 13:09 |
| Подозреваю, что подключаются заголовочные файлы стандартной glibc. |
| Автор: xvr 14.7.2008, 19:30 | ||
Кстати, очень возможно. В таких случаях рекомендуется в строку запуска компилятора добавить опцию -M и внимательно изучить вывод, если там будут фигурировать файлы из стандартных директорий хоста то что-то не так в Датском королевстве ... |
| Автор: marcusmae 20.7.2008, 10:03 | ||||
Ну вроде того : Cell Broadband Engine. Как мне объяснили,
Примечательно, что assert не могут делать именно сопроцессоры, а на основном проце всё прекрасно работает. В то же время отладочная печать поддерживается всюду (проблемы с выводом нет). Тему закрою - собственная реализация assert так или иначе решает проблему. |