САПР на Lazarus
Модератор: Модераторы
Поддерживается, правда я давно не пробовал собирать под него. Не поддерживается qt - так как под него не фурычит TOpenGlControl
Под win64 компилятор выдаёт ошибку:
И действительно, в директории c:\lazarus\fpc\2.6.0\units\x86_64-win64\opengl\ отсутствует glext.ppu.
Похоже, потому, что
c:\lazarus\fpc\2.6.0\source\packages\opengl\Makefile.fpc
содержит секцию:
Glext'а для 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 там нет.
ФПЦ его не хочет...
glext там только изза константы GL_BGRA_EXT = $80E1, ее можно определить руками или заменить на GL_RGBA и закоментить uses glext
Прошло.
Но появилось это:
Файла там действительно нет.
Но появилось это:
Код: Выделить всё
C:\lazarus.add\from_svn\zcad\trunk\cad_source\gui\sltexteditor.pas(51,4) Fatal: Can't open include file "sltexteditor.lrs"Файла там действительно нет.
добавил на свн. но в принципе если закоментить соответствующий {$I sltexteditor.lrs} ничего страшного не произойдет.
lrs вроде должен создаваться компилятором?
lrs вроде должен создаваться компилятором?
zub писал(а):lrs вроде должен создаваться компилятором?
Я так подозреваю, что он будет создаваться, только если указать в параметрах проекта "Тип ресурсов проекта:" "Файлы LRS" вместо "Ресурсы FPC".
Да, стоит галка "Ресурсы FPC", выходит lrs`ы вообще ненужны
Теперь такая бяка :
Код: Выделить всё
C:\lazarus.add\from_svn\zcad\trunk\cad_source\gui\oglwindow.pas(4599,221) Error: Incompatible types: got "OGLSPECFUNC.TViewPortArray" expected "GLU.TViewPortArray">>единственное в модуле OGLSpecFunc может понадобится закоментировать определение типа TViewPortArray - непомню когда его исключили из glu.pp
\cad_source\misc\OGLSpecFunc.pas
строка 29 -закоментировать
\cad_source\misc\OGLSpecFunc.pas
строка 29 -закоментировать
Код: Выделить всё
//{glu}TViewPortArray = array [0..3] of GLint;Сделал так:
Ругается:
Код: Выделить всё
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"Код: Выделить всё
(* {glu}TViewPortArray = array [0..3] of GLint;*)
PTViewPortArray=^TViewPortArray;//-это пригодитсяТаки да!
Теперь ругается здесь :
Теперь ругается здесь :
Код: Выделить всё
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"Коментируй эти строки, работать будет. это совсем недавно в TOpenglContext добавили.
Изза неуправляемости наличием "StencilBits" возможно примитивы небудут выделяться пунктиром, зависит от того, создаст ли видяха для OGL контекста стенсил буфер по умолчанию
Изза неуправляемости наличием "StencilBits" возможно примитивы небудут выделяться пунктиром, зависит от того, создаст ли видяха для OGL контекста стенсил буфер по умолчанию
Помогло!
собралось... а заработало? будет интересно узнать скорость работы если добавить 1000000 линий на чертеж и какая видюшка
