Страница 1 из 2

Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 00:43:21
koris
Изучаю Паскаль, застрял на графике. Пересмотрел эту тему http://www.freepascal.ru/article/freepa ... 215095658/ все сделал как пишет, создал ссылки на файл libXxf86vm.so и libXxf86dga.со но при компиляции пишет, что не может найти ptcGraph. Может кто-то поможет? У меня Debian 7 , fpc-2.6.0.

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 00:57:50
Дож
Модуль должен лежать в <путь до паскаля>/2.6.0/units/x86_64-linux/graph, проверьте наличие его там (в виде .ppu и .o), если есть, то попытайтесь компилировать с опцией
-Fu<путь до паскаля>/2.6.0/units/x86_64-linux/graph

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 01:20:11
koris
Спасибо! Все заработало :) компилировал в консоли, хотелось бы что-бы и в ide компилировалось но это лучшем чем ничего!

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 01:23:22
Дож
Проверьте пути в используемом fpc.cfg

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 02:06:55
koris
не сильно в этом разбираюсь, посмотрел файл fpc.cfg и пути -Fu/usr/lib/fpc/2.6.0/units/i386-linux/graph в нем не нашел, добавление этой строки ничего не дало. есть строки
# searchpath for libraries
#-Fl/usr/lib/fpc/$fpcversion/lib
#-Fl/lib;/usr/lib
как я понял они закомментированы, раскомментировал две нижние но проблема осталась, вернул все на место, там много всего написано, с английским у меня не очень но searchpath for libraries кажется путь к библиотекам

в /etc есть fpc-2.6.0.cfg , fpc.cfg.save и fpc.cfg линк на etc/alternatives/fpc.cfg

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 10:29:33
Дож
Нужно смотреть опции -Fu

Главное понять какой файл использует IDE и в нём прописать -Fu как выше. Может быть, это возможно сделать через саму IDE (нужна настройка unit path или что-то в таком духе).

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 13:26:40
koris
методом проб прописал -Fu/usr/lib/fpc/2.6.0/units/i386-linux/graph в fpc-2.6.0.cfg , fpc.cfg.save и fpc.cfg ,даже в etc/alternatives/fpc.cfg :

# searchpath for units and other system dependent things
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
-Fu/usr/lib/fpc/2.6.0/units/i386-linux/graph

ничего не изменилось, пробовал в самой ide добавить. Все что нашел это options>directories>units туда прописал /usr/lib/fpc/2.6.0/units/i386-linux/graph, пробовал и с -Fu и без него , даже рядом в libraries - ничего не дало.

http://wiki.freepascal.org/Unit_not_fou ... find_units немного прочитал здесь пишут, кажется то что мне надо
Case 2: Compiler finds a unit, but IDE does not

The next sub cases assumes, that Run -> Build (Ctrl+F9) in the Lazarus IDE works, but Find Declaration fails with the error: unit not found. If unsure, check Case 1 as well.

Check if the unit source exists: The IDE searches for pascal source (.pas, .pp) and ignores the .ppu files. The compiler can use a .ppu, but the Lazarus IDE not. This feature is planned, but there is no time frame.
Check if unit directory was added to your fpc.cfg: The compiler uses all paths defined in the fpc.cfg file. The IDE does not read this file. Add the search path to the compiler options of your projects and/or packages.
Check for macros and special compiler flags: The compiler understands the asterisk * character in search paths. The IDE treats this character as normal character. You can add the -Fu, -FU, -FE flags manually to the custom compiler flags in the lazarus IDE, but they are not parsed. Always use the right fields for options. The custom options are only for flags like the -D flag or uncommon compiler options, like new features of the unstable developer compiler.
Rescan the FPC source directory: sometimes after a new/fresh install the IDE has problems finding the FPC sources. Selecting this option from the main menu (Environment/Rescan the FPC directory) might fix the problem.

не могу понять куда мне еще прописать этот путь.

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 17:20:05
Дож
А, ну да, тут пишут, что в IDE это пока не поддерживается.

Во флаги компиляции прописывали?
You can add the -Fu, -FU, -FE flags manually to the custom compiler flags in the lazarus IDE

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 18:53:45
koris
не знаю как это сделать, вставляю -Fu при компиляции в консоли, немного неудобно но если не поддерживается в IDE что тут поделаешь, спасибо за помощь!

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 19:11:50
Дож
не знаю как это сделать, вставляю -Fu при компиляции в консоли, немного неудобно но если не поддерживается в IDE что тут поделаешь, спасибо за помощь!

У меня тоже плохо с английским и с IDE (сам не использую IDE), но кажется, что тут можно придумать какое-то решение, может кто-нибудь более опытный подскажет.

Re: Не находит ptcGraph

СообщениеДобавлено: 22.12.2014 19:23:25
Vadim
Например, составить командный файл с нужными путями и компилировать им.
Однако лучше всего выяснить, где же всё-таки косяки с файлом конфигурации (*.cfg который), т.к. компилятор все модули и нужные библиотеки находит по путям там указанным. Это единственный нормальный выход.

Re: Не находит ptcGraph

СообщениеДобавлено: 23.12.2014 02:12:16
Дож
Vadim писал(а):Например, составить командный файл с нужными путями и компилировать им.
Однако лучше всего выяснить, где же всё-таки косяки с файлом конфигурации (*.cfg который), т.к. компилятор все модули и нужные библиотеки находит по путям там указанным. Это единственный нормальный выход.


Проблема не с компилятором, а с IDE. Там выше есть ссылка, где говорится, что у IDE есть проблемы с поиском ppu файлов и сложности с прописыванием путей.

Re: Не находит ptcGraph

СообщениеДобавлено: 23.12.2014 03:00:17
pupsik
Верните в прежнее состояние конфиги фпс :twisted:

1. сорцы не там...
2. вы указали папку с *.o, *.ppu.
3. В параметрах проекта
другие модули укажите /usr/share/fpcsrc/2.6.4/packages/graph/src/ptcgraph
включаемые файлы укажите /usr/share/fpcsrc/2.6.4/packages/graph/src/inc
4. убрать $IFDEF UseCThreads...
5. Запустить :)

поправку на версию фпс у вас...

п.с.
В лазаре 1.3 фпс 2.7.1 нашлось сразу...
Дебиан, лазарь 1.3, фпс 2.7.1 и 2.6.4

Re: Не находит ptcGraph

СообщениеДобавлено: 23.12.2014 13:14:32
koris
Конфиги вернул обратно) если я правильно понял "В параметрах проекта другие модули укажите /usr/share/fpcsrc/2.6.4/packages/graph/src/ptcgraph " это в ide > options > directories > units прописать /usr/share/fpcsrc/2.6.0/packages/graph/src/ptcgraph ,а рядом в include files > /usr/share/fpcsrc/2.6.0/packages/graph/src/inc ? и еще по поводу "$IFDEF UseCThreads" что-то похожее видел в fpc.cfg, только посмотрев весь файл не нашел такой строки.

Re: Не находит ptcGraph

СообщениеДобавлено: 23.12.2014 13:28:07
pupsik
опция ($IFDEF UseCThreads) находится в исходном коде....

п.с.
пока вам в fpc.cfg делать нечего :) Все настраивается в проекте...