Скорее всего, это не имеет ничего общего с -D_FILE_OFFSET_BITS=64
.
Когда вы компилируете в Mac OS, отладочная информация не загружается в исполняемый файл, а остается в объектном файле, и отладчик ищет ее там.
Из вашего предупреждающего сообщения видно, что вы сделали:
g++ -D_FILE_OFFSET_BITS=64 -g test.cpp
Это создает временный объектный файл (с именем, подобным ccZfMAM5.o
), связывает этот объектный файл с исполняемым файлом, а затем удаляет объектный файл. Поскольку отладчик не может прочитать отладочную информацию из более не представленного объектного файла, вы получите предупреждение.
Вместо этого сделайте следующее:
g++ -g -c -D_FILE_OFFSET_BITS=64 test.cpp
g++ -g test.o
Это сделает объектный файл test.o
(и содержащуюся в нем отладочную информацию) доступным для отладчика.