Как отлаживать программы на C ++ 0x в MacPorts gcc 4.5?
У меня есть простая программа на С ++, которую я пытаюсь отладить, но GDB не может найти объектный файл для библиотек (или нет доступной отладочной информации), и он также не может найти символы отладки для моего исполняемого файла.
Я на OSX 10.5.8, с macports, и я компилирую свой код с
g ++ - mp-4.5 -Wall -pedantic -std = c ++ 0x -g -ggdb -I / opt / local / include -L / opt / local / lib -lgsl -static-libstdc ++ MCMC-simplex.cpp -o mcmc
(есть только один файл, и g ++ - mp-4.5 - исполняемый файл macports для gcc / g ++ 4.5)
Когда я пытаюсь запустить gdb на получающемся исполняемом файле, я получаю много сообщений об ошибках (при запуске) вида
предупреждение: не удалось найти объектный файл "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc45/work/build/i386-apple-darwin9/libgcc/trunctfdf2_ugo" для /../../gcc-4.5.0/libgcc/../gcc/config/soft-fp/trunctfdf2.c».
что для меня означает, что у macports есть ошибка во время сборки (похоже, что gdb ищет объектные файлы во временной директории сборки).
Я должен добавить, что когда я пытаюсь увидеть список моих программ в gdb (который предоставлен Apple), он пытается найти случайный.s
файл в/var/tmp
, который для меня звучит как файл ассемблера. Вот почему я говорю, что он также не может найти символы отладки для моей программы.
Когда я пробую MacPorts GDB 7.1, я получаю
предупреждение: `/var/folders/Xa/XaqHO9PeEC8K-Nrd0L9xWk+++TM/-Tmp-//cc2IvFto.o ': невозможно открыть для чтения символов: такого файла или каталога нет. (символы отладки не найдены) ... сделано.
и ни одно из многих сообщений об ошибках, которые выдает GDB от Apple (хотя конечный результат тот же).
Кто-нибудь сталкивался с этой проблемой и придумал решение?