Форум программистов, компьютерный форум, киберфорум
Наши страницы

Free Pascal

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
#1

FPC в Mac OS X Lion - Free Pascal

28.08.2012, 20:57. Просмотров 1646. Ответов 15
Метки нет (Все метки)

Имеется файл "file.txt". В нем содержится число 1. Написал код
Код
program test1;
var
  a:integer;
  f:text;
begin
  assign(f,'file.txt');
  reset(f);
  readln(f,a);
  writeln(a);
  close(f);
  end.
Когда я запускаю через Терминал "fpc test1.pas", то получаю ответ:
Free Pascal Compiler version 2.6.0 [2011/12/30] for i386
Copyright (c) 1993-2011 by Florian Klaempfl and others
Target OS: Darwin for i386
Compiling project1.pas
Assembling (pipe) project1.s
Linking project1
ld: warning: -macosx_version_min not specified, assuming 10.7
ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in __start from /usr/lib/crt1.o. To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie
ld: can't write output file: project1 for architecture i386
An error occurred while linking
project1.pas(8,3) Error: Error while linking
project1.pas(8,3) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/local/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
Если кто встречался с таким и знает как это решить, помогите разобраться в чем тут дело.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2012, 20:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос FPC в Mac OS X Lion (Free Pascal):

Компиляция в fpc 64 - Free Pascal
Здравствуйте. Установил FreePascal 64 fpc-3.0.2.i386-win32.cross.x86_64-win64.exe В cmd fpc не работает, в папке bin его нету. Как...

Настройка FPC - Free Pascal
Я скачал fpc-2.6.4.i386-win32.exe, установил, все работает, только существует одна проблема. Не получается сохранять изменения....

Ошибка в FPC - Free Pascal
Дело вот в чем: компилятор выдает ошибку там, где я пытаюсь засунуть в массив нужные мне данные. Текст ошибки: Error: legal...

Что нового в FPC-3.0.0? - Free Pascal
Было бы очень интересно услышать обсуждение новшеств FPC-3.0.0 и его отличий от FPC-2.6.4. На эту тему, даже на официальном сайте, удаётся...

Сохранить в формате fpc - Free Pascal
нужно сохранить программу program Naperstki; var mas:array of integer; q,a,b,m,n,i:integer; begin for i:=1 to 1000 do ...

Использование классов в FPC - Free Pascal
программа : type mas=array of array of real; Tclass=class private tmp:mas; n:integer; public ...

15
Puporev
Модератор
52415 / 40262 / 13596
Регистрация: 18.05.2008
Сообщений: 93,073
28.08.2012, 21:00 #2
Pascal
1
2
3
 reset(f);
  read(f,a);//а не строка, а число
  writeln(a);
0
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
28.08.2012, 21:05  [ТС] #3
С этим проблем нет, и, как ни странно, компилируется вполне рабочий файл. Можно ли как-то убрать это оповещение об ошибке?
0
Puporev
Модератор
52415 / 40262 / 13596
Регистрация: 18.05.2008
Сообщений: 93,073
28.08.2012, 21:07 #4
А Вы пробовали поправить как я написал?
0
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
28.08.2012, 21:33  [ТС] #5
Да, то же самое...
Ну в крайнем случае можно игнорировать это, ведь исполняемый файл создается и работает исправно. Доставляет неудобство только невозможность это пропускать при работе в Lazarus.
0
Puporev
Модератор
52415 / 40262 / 13596
Регистрация: 18.05.2008
Сообщений: 93,073
28.08.2012, 21:40 #6
Цитата Сообщение от lunohod-1 Посмотреть сообщение
FPC в Mac OS X Lion
Понятия об этом не имею, в Винде все нормально.

Добавлено через 1 минуту
Цитата Сообщение от lunohod-1 Посмотреть сообщение
Free Pascal Compiler version 2.6.0
Тут у кого-то были проблемы, поставил версию 2.4.0 и все стало нормально.
0
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
28.08.2012, 21:47  [ТС] #7
Проверил 2.4.0. Все равно ругается.
0
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
29.08.2012, 22:58  [ТС] #8
Чтобы не создавать новой темы, напишу здесь. Увидел в учебнике пример использования файлов:
Код
program temp;
var f_in,f_out;
begin
assign(f_in,'input.txt');
reset(f_in);
assign(f_out,'output.txt');
rewrite(f_out);
..... {Здесь код для работы с данными из файла}
close(f_out);
end.
Надо ли тут применять
Код
close(f_in)
или все в порядке?
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24020 / 16001 / 4843
Регистрация: 22.10.2011
Сообщений: 28,322
Записей в блоге: 5
30.08.2012, 00:18 #9
Необязательно, но желательно. Вообще, прими себе за правило: если что-то открыл - то закрывай. Память выделил - возвращай.

По поводу исходного вопроса: а ты с sudo случаем не игрался перед тем, как компилировать код?
0
Puporev
Модератор
52415 / 40262 / 13596
Регистрация: 18.05.2008
Сообщений: 93,073
30.08.2012, 07:30 #10
Цитата Сообщение от UI Посмотреть сообщение
Необязательно, но желательно.
А мне кажется обязательно. Если созданный и записанный файл не закрыть, то в него может не записаться вся информация. По крайней мере в Windows+Turbo Pascal именно так, а в Паскале АВС просто не откомпилируется.
0
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
30.08.2012, 10:23  [ТС] #11
Вот мне тоже показалось, что обязательно, но автор книги решил, что закрывать не стоит...

Смотря что подразумевается под фразой "игрался с sudo". Когда началась эта ошибка "линковщика", я попытался выполнить "sudo fpc <имя файла>", то же самое.

Добавлено через 1 час 17 минут
Попробовал переустановить XCode CLT. То же самое...
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24020 / 16001 / 4843
Регистрация: 22.10.2011
Сообщений: 28,322
Записей в блоге: 5
30.08.2012, 11:09 #12
Цитата Сообщение от Puporev Посмотреть сообщение
Если созданный и записанный файл не закрыть, то в него может не записаться вся информация.
А в f_in ничего не пишется, из него только читается. Пишется в f_out, который закрывается.
0
Puporev
Модератор
52415 / 40262 / 13596
Регистрация: 18.05.2008
Сообщений: 93,073
30.08.2012, 11:16 #13
Извиняюсь, я сюда посмотрел
Pascal
1
close(f_out);
0
dan25
2 / 2 / 1
Регистрация: 30.08.2012
Сообщений: 38
30.08.2012, 12:00 #14
Он же спрашивает об in-файле. Этот файл уже существует на компе. В него ничего не записывается. Программа будет работать, если файл и не закрыть.

P.S. :-) пока регистрировался - уже ответили
0
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
30.08.2012, 13:17  [ТС] #15
Спасибо за разъяснение

А вот предупреждения "линковщика" интересны...
Появляются только при использовании нескольких модулей.
0
30.08.2012, 13:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2012, 13:17
Привет! Вот еще темы с ответами:

Fpc-2.2.0.i386-win32 - Free Pascal
Здравствуйте, господа! Не подскажите, где можно скачать последнюю версию среды FreePascal, совместимую с fpc-2.2.0.i386-win32 ? ...

fpc под Linux - Free Pascal
Здравствуйте, помогите кто-нибудь. Почему после установки всех пакетов вручную в разделе &quot;программирование&quot; его нету? Что надо сделать,...

Меню во FPC Free Pascal - Free Pascal
Нужно написать меню, в 5 подменю (см.код ниже), управление через стрелки. Сделал стандартно через Case, но сказали переделать со...

Переписать код с С++ под FPC - Free Pascal
Здравствуйте. Есть код, написанный на С++, Visual. Помогите, пожалуйста, переписать его под FPC. Считать время выполнения не нужно. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru