Не находит ptcGraph
Модератор: Модераторы
Не находит ptcGraph
Изучаю Паскаль, застрял на графике. Пересмотрел эту тему http://www.freepascal.ru/article/freepa ... 215095658/ все сделал как пишет, создал ссылки на файл libXxf86vm.so и libXxf86dga.со но при компиляции пишет, что не может найти ptcGraph. Может кто-то поможет? У меня Debian 7 , fpc-2.6.0.
Модуль должен лежать в <путь до паскаля>/2.6.0/units/x86_64-linux/graph, проверьте наличие его там (в виде .ppu и .o), если есть, то попытайтесь компилировать с опцией
-Fu<путь до паскаля>/2.6.0/units/x86_64-linux/graph
-Fu<путь до паскаля>/2.6.0/units/x86_64-linux/graph
Спасибо! Все заработало
компилировал в консоли, хотелось бы что-бы и в ide компилировалось но это лучшем чем ничего!
Проверьте пути в используемом fpc.cfg
не сильно в этом разбираюсь, посмотрел файл 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
# 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
Нужно смотреть опции -Fu
Главное понять какой файл использует IDE и в нём прописать -Fu как выше. Может быть, это возможно сделать через саму IDE (нужна настройка unit path или что-то в таком духе).
Главное понять какой файл использует IDE и в нём прописать -Fu как выше. Может быть, это возможно сделать через саму IDE (нужна настройка unit path или что-то в таком духе).
методом проб прописал -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.
не могу понять куда мне еще прописать этот путь.
# 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.
не могу понять куда мне еще прописать этот путь.
А, ну да, тут пишут, что в IDE это пока не поддерживается.
Во флаги компиляции прописывали?
Во флаги компиляции прописывали?
You can add the -Fu, -FU, -FE flags manually to the custom compiler flags in the lazarus IDE
не знаю как это сделать, вставляю -Fu при компиляции в консоли, немного неудобно но если не поддерживается в IDE что тут поделаешь, спасибо за помощь!
не знаю как это сделать, вставляю -Fu при компиляции в консоли, немного неудобно но если не поддерживается в IDE что тут поделаешь, спасибо за помощь!
У меня тоже плохо с английским и с IDE (сам не использую IDE), но кажется, что тут можно придумать какое-то решение, может кто-нибудь более опытный подскажет.
Например, составить командный файл с нужными путями и компилировать им.
Однако лучше всего выяснить, где же всё-таки косяки с файлом конфигурации (*.cfg который), т.к. компилятор все модули и нужные библиотеки находит по путям там указанным. Это единственный нормальный выход.
Однако лучше всего выяснить, где же всё-таки косяки с файлом конфигурации (*.cfg который), т.к. компилятор все модули и нужные библиотеки находит по путям там указанным. Это единственный нормальный выход.
Vadim писал(а):Например, составить командный файл с нужными путями и компилировать им.
Однако лучше всего выяснить, где же всё-таки косяки с файлом конфигурации (*.cfg который), т.к. компилятор все модули и нужные библиотеки находит по путям там указанным. Это единственный нормальный выход.
Проблема не с компилятором, а с IDE. Там выше есть ссылка, где говорится, что у IDE есть проблемы с поиском ppu файлов и сложности с прописыванием путей.
Верните в прежнее состояние конфиги фпс
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
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
Конфиги вернул обратно) если я правильно понял "В параметрах проекта другие модули укажите /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, только посмотрев весь файл не нашел такой строки.
опция ($IFDEF UseCThreads) находится в исходном коде....
п.с.
пока вам в fpc.cfg делать нечего
Все настраивается в проекте...
п.с.
пока вам в fpc.cfg делать нечего
