САПР на Lazarus

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: САПР на Lazarus

Сообщение zub » 10.07.2012 01:21:51

Поддерживается, правда я давно не пробовал собирать под него. Не поддерживается qt - так как под него не фурычит TOpenGlControl
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение svk12 » 10.07.2012 02:39:17

Под win64 компилятор выдаёт ошибку:
Код: Выделить всё
..\gui\oglwindow.pas(0,0) Fatal: Can not find unit GLext used by oglwindow.


И действительно, в директории c:\lazarus\fpc\2.6.0\units\x86_64-win64\opengl\ отсутствует glext.ppu.
Похоже, потому, что
c:\lazarus\fpc\2.6.0\source\packages\opengl\Makefile.fpc
содержит секцию:
Код: Выделить всё
[target]
units=gl glu glut
units_win32=glext
units_haiku=glext
units_linux=glx glext
units_freebsd=glx glext
units_netbsd=glx glext
units_openbsd=glx glext
units_darwin=glx glext
exampledirs=examples


Glext'а для win64 там нет.
ФПЦ его не хочет...
svk12
постоялец
 
Сообщения: 407
Зарегистрирован: 09.06.2008 18:42:47

Re: САПР на Lazarus

Сообщение zub » 10.07.2012 07:57:22

glext там только изза константы GL_BGRA_EXT = $80E1, ее можно определить руками или заменить на GL_RGBA и закоментить uses glext
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение svk12 » 10.07.2012 10:11:31

Прошло.
Но появилось это:
Код: Выделить всё
C:\lazarus.add\from_svn\zcad\trunk\cad_source\gui\sltexteditor.pas(51,4) Fatal: Can't open include file "sltexteditor.lrs"

Файла там действительно нет.
svk12
постоялец
 
Сообщения: 407
Зарегистрирован: 09.06.2008 18:42:47

Re: САПР на Lazarus

Сообщение zub » 10.07.2012 10:28:11

добавил на свн. но в принципе если закоментить соответствующий {$I sltexteditor.lrs} ничего страшного не произойдет.
lrs вроде должен создаваться компилятором?
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение Mr.Smart » 10.07.2012 10:54:18

zub писал(а):lrs вроде должен создаваться компилятором?

Я так подозреваю, что он будет создаваться, только если указать в параметрах проекта "Тип ресурсов проекта:" "Файлы LRS" вместо "Ресурсы FPC".
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: САПР на Lazarus

Сообщение zub » 10.07.2012 11:07:16

Да, стоит галка "Ресурсы FPC", выходит lrs`ы вообще ненужны
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение svk12 » 10.07.2012 11:41:05

Теперь такая бяка :
Код: Выделить всё
C:\lazarus.add\from_svn\zcad\trunk\cad_source\gui\oglwindow.pas(4599,221) Error: Incompatible types: got "OGLSPECFUNC.TViewPortArray" expected "GLU.TViewPortArray"
svk12
постоялец
 
Сообщения: 407
Зарегистрирован: 09.06.2008 18:42:47

Re: САПР на Lazarus

Сообщение zub » 10.07.2012 11:42:09

>>единственное в модуле OGLSpecFunc может понадобится закоментировать определение типа TViewPortArray - непомню когда его исключили из glu.pp
\cad_source\misc\OGLSpecFunc.pas
строка 29 -закоментировать
Код: Выделить всё
//{glu}TViewPortArray = array [0..3] of GLint;
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение svk12 » 10.07.2012 11:47:00

Сделал так:
Код: Выделить всё
unit OGLSpecFunc;
{$INCLUDE def.inc}

interface
uses gdbasetypes,gdbase,LCLType,
     gl,glu,
     {$IFDEF SLINUX}glx,{$ENDIF}
     {$IFDEF WINDOWS}windows,{$ENDIF}
     log,sysutils,varmandef;
type
(*    {glu}TViewPortArray = array [0..3] of GLint;
    PTViewPortArray=^TViewPortArray;*)     


Ругается:

Код: Выделить всё
C:\lazarus.add\from_svn\zcad\trunk\cad_source\gui\oglwindow.pas(4599,182) Error: Identifier not found "PTViewPortArray"
svk12
постоялец
 
Сообщения: 407
Зарегистрирован: 09.06.2008 18:42:47

Re: САПР на Lazarus

Сообщение zub » 10.07.2012 11:49:48

Код: Выделить всё
(*    {glu}TViewPortArray = array [0..3] of GLint;*)
    PTViewPortArray=^TViewPortArray;//-это пригодится
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение svk12 » 10.07.2012 11:55:27

Таки да!

Теперь ругается здесь :
Код: Выделить всё
C:\lazarus.add\from_svn\zcad\trunk\cad_source\commands\GDBCommandsBase.pas(741,13) Error: identifier idents no member "AuxBuffers"
C:\lazarus.add\from_svn\zcad\trunk\cad_source\commands\GDBCommandsBase.pas(742,13) Error: identifier idents no member "StencilBits"
C:\lazarus.add\from_svn\zcad\trunk\cad_source\commands\GDBCommandsBase.pas(744,13) Error: identifier idents no member "DepthBits"
svk12
постоялец
 
Сообщения: 407
Зарегистрирован: 09.06.2008 18:42:47

Re: САПР на Lazarus

Сообщение zub » 10.07.2012 11:58:27

Коментируй эти строки, работать будет. это совсем недавно в TOpenglContext добавили.
Изза неуправляемости наличием "StencilBits" возможно примитивы небудут выделяться пунктиром, зависит от того, создаст ли видяха для OGL контекста стенсил буфер по умолчанию
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение svk12 » 10.07.2012 12:22:43

Помогло!
svk12
постоялец
 
Сообщения: 407
Зарегистрирован: 09.06.2008 18:42:47

Re: САПР на Lazarus

Сообщение zub » 10.07.2012 12:31:23

собралось... а заработало? будет интересно узнать скорость работы если добавить 1000000 линий на чертеж и какая видюшка
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Пред.След.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

Рейтинг@Mail.ru