Manifold Geometry // Многообразная Геометрия

Установка OpenCascade 7.0

/ Просмотров: 7593
"Debug, release... Hey, guys, it seems you have a lot of fun here!" (отрывок из жизни)
В доме праздник: с мест сообщают, что почти готова новая версия OCCT. Эта версия — важная веха в жизни открытого ядра геометрического моделирования Open CASCADE Technology. Поэтому нельзя не уделить внимание его (ядра) установке.

Ранее мы описывали процесс установки OCCT для версий 6.7.x. Подобная информация быстро устаревает, так как с выходом новых версий продукта нередко меняется и процедура его инсталляции. Рекомендуется, конечно, изучить официальную документацию, ведь она, как минимум, всегда актуальна. Однако практика ведения этого блога показала, что вопрос об установке OCCT стоит довольно остро. Поступают даже такие сведения, что кто-то где-то «потратил месяц на установку OpenCascade». Это звучит, признаться, совершенно дико, и отражает скорее состояние бессильной ненависти вопиющего, нежели реальное положение дел. Однако русскоязычному пользователю, особенно новичку, удобнее читать тексты на родном языке. Поэтому приступим.

Начнем с того, что версия 7 — это новый этап в жизни библиотеки. Те, кто знаком с предыдущими версиями, должны помнить такие понятия как CDL и WOK (Workshop Organization Kit). Всего этого больше нет. Отныне конфигурация OCCT осуществляется полностью через CMake. Если раньше CMake-файлы генерировались при помощи специальной утилиты WOK, то теперь они помещены в репозиторий библиотеки, как и подобает хорошему opensource-проекту.

Файлы CMakeLists.txt включены в поставку исходного кода Open CASCADE Technology. На сегодняшний день CMake — рекомендуемый способ сборки библиотеки, хотя и не единственный.

Кроме того, сама процедура конфигурации была изменена и дополнена, что мы прокомментируем ниже отдельно.

Получаем исходные коды библиотеки

Самый хакерский способ — это, конечно, взять исходники напрямую из репозитория:

git clone ssh://gitolite@git.dev.opencascade.org/occt occt

Для этого вам потребуется зарегистрироваться на сайте разработчиков, подписать соглашение об участии в проекте (CLA) и загрузить публичную часть своего SSH-ключа в свой аккаунт. Если сказанное ввергает вас в скепсис (а подписание CLA займет некоторое время), то есть и более простой путь. Достаточно скачать исходные коды библиотеки в виде архива прямо из Git (находим ревизию V7_0_0_beta и кликаем «snapshot») Мы не рассматриваем бинарные поставки OCCT, так как для комфортного владения библиотекой нужно уметь собирать ее вручную (благо, это очень просто).

Скачиваем третьесторонние библиотеки

Open CASCADE Technology — это абсолютно независимая библиотека в части геометрического моделирования. Но в ней содержатся компоненты, использующие некоторые функции сторонних продуктов, прежде всего, для визуализации и интерактивной среды Draw Test Harness (Draw). Для полноценной сборки OCCT, включая командный интерпретатор Draw (как точку входа) требуется Tcl/Tk и Freetype. Остальные зависимости можно безболезненно исключить до тех пор, пока вы не освоитесь с OCCT.

Tcl/Tk эта библиотека является движком для командного интерпретатора Draw. Draw (Draw Test Harness) — это интерактивная среда, из которой вы можете начать работу с библиотекой. Мы уже немного писали о Draw в прошлом.
Freetype работа со шрифтами в Draw. Если планируете использовать Draw, то без этой библиотеки не обойтись.
Freeimage средство, необходимое для юнит-тестирования с использованием Draw. Если тесты вам не нужны, то Freeimage можно исключить из списка зависимостей.
gl2ps поддержка векторных форматов графики (для работы с геометрией она не нужна).
Intel TBB механизм параллелизма. Учитывая, что в OCCT реализован параллелизм при помощи стандартных средств ОС, эту опцию можно игнорировать.
VTK используется для сборки библиотеки IVtk, которая представляет собой «мост» между OCCT и VTK. Используйте, если планируете визуализировать геометрию OCCT при помощи VTK.

Все зависимости подробно описаны на официальном сайте разработчиков. Подробную инструкцию по их сборке можно найти здесь.

OCCT в минимальной сборке не требует вообще никаких зависимостей. В составе библиотеки можно оставить лишь самое необходимое для работы с геометрией и B-Rep, однако для новичков это едва ли хорошее начало. Как и всякий сложный программный продукт, OCCT требует накопления некоторого багажа знаний и опыта, прежде чем жонглирование сборочными параметрами станет для вас делом простым и приятным.

Конфигурируем в CMake

CMake — это утилита, используемая для сборки таких популярных продуктов, как VTK, CGAL, OCCT и другие. Работа с CMake принципиально не отличается в системах Windows и Linux, поэтому все сказанное ниже одинаково справедливо для всех ОС. Работа начинается с запуска CMake GUI (хотя можно использовать и чисто командную версию). Первым делом мы указываем директорию с исходными кодами библиотеки, а также рабочую директорию для сборки. Директория с исходными кодами — это корневая директория OCCT.

Отделение исходных кодов от бинарных путем разнесения их по разным директориям — это хорошо зарекомендовавшая себя практика (не столь, однако, распространенная среди пользователей Windows). В Qt, например, даже принят специальный термин для именования этой техники — «Shadow Build».

Заметим, что рабочая директория (build-директория) по замыслу не окончательна. После того как библиотека будет собрана, ее рекомендуется «инсталлировать», то есть скопировать все заголовочные файлы (*.hxx) и бинарники (*.dll, *.so) туда, где OCCT будет доступна вашему проекту. Вы же собираетесь использовать OCCT не саму по себе, а как часть приложения, верно?

Заметим здесь, что библиотека OCCT, собранная таким образом, не затрагивает глобальных переменных окружения вашей системы. Это важно, так как позволяет иметь несколько версий геометрического ядра для разных платформ и разных проектов.

Build-директория — это своеобразный сборочный цех, в котором начальствует CMake, позволяя экспериментировать с конфигурацией до тех пор, пока состав библиотеки вас не удовлетворит. При этом все прежние настройки сохраняются, то есть не нужно ломать голову над тем, с какими опциями была выполнена сборка некоторое время назад. Под Windows build-директория часто совпадает с директорией, содержащей исходные коды. Так, при сборке проекта Visual Studio по умолчанию создает каталоги Debug или Release там же, где находятся исходники проекта. Хорошо это или плохо зависит от ситуации. Но практика показывает, что при сборке сторонних opensource-продуктов желательно оставлять их исходные директории в первозданном состоянии. Ведь проще готовить сборки под разные платформы, назначая разные build-директории, чем плодить бинарники в одном и том же каталоге.

После выбора рабочей (build) директории мы наблюдаем пустое рабочее поле CMake. Жмем кнопку «Configure» и выбираем «генератор» проектных файлов (MS Visual Studio, Eclipse, Makefiles, etc.).

После первичной конфигурации CMake обнаруживает, что значения некоторых переменных требуют задания. Об этом сигнализирует окошко с ошибкой.

Закрываем его, и первым делом указываем директорию, содержащую третьесторонние продукты, которые вовлечены в сборку.

CMake достаточно умен, чтобы отыскать все сторонние библиотеки автоматически. Но даже если CMake не смог обнаружить все необходимые зависимости автоматически, всегда остается возможность настроить их врукопашную (хотя при правильном порядке действий этого происходить не должно). После очередного нажатия «Configure» мы наблюдаем список переменных конфигурации. Обратите внимание, что все зависимости оказались разрешенными автоматически.

Теперь немного об интересных опциях конфигурирования.

BUILD_ADDITIONAL_TOOLKITS опция для продвинутых пользователей. Здесь вы можете перечислить конкретные библиотеки из состава OCCT, которые следует собрать. Скажем, если топология вам неинтересна, вы можете указать TKGeomAlgo и получить набор библиотек для работы исключительно с параметрической геометрией (без B-Rep). Эта опция CMake достаточно умна, чтобы найти все базовые зависимости и включить их в сборку наравне с отмеченными библиотеками. Так, если вы укажете TKMath, то базовая библиотека TKernel будет добавлена автоматически ввиду того, что TKMath от нее зависит. Библиотеки следует перечислять, разделяя их символом пробела и без расширений (т.е. «.lib» писать не нужно). Кроме того, если вы используете эту опцию, то обратите внимание на переменные BUILD_Module_* — эти флажки (чаще всего) должны быть сняты, иначе в сборке появятся дополнительные библиотеки соответствующих модулей OCCT.
INSTALL_DIR это стандартная, вообще-то, переменная. Обращаем на нее внимание лишь из-за того, что ее важно сразу настроить правильно. Эта переменная указывает, куда будут скопированы бинарники и заголовочные файлы OCCT после инсталляции (make install под Linux или сборка проекта INSTALL в Visual Studio).
INSTALL_TEST_CASES опция полезная для разработчиков библиотеки. Будучи взведенным, этот флажок сигнализирует о том, что тестовые сценарии OCCT (в виде скриптов Tcl) будут скопированы в целевую директорию вместе с бинарниками.

Официальная документация CMake рекомендует нажимать кнопку «Configure» до тех пор, пока в списке не исчезнут подкрашенные красным цветом переменные. На самом деле красный цвет нужен только для того чтобы привлечь ваше внимание. Он сигнализирует о том, что значение переменной было обновлено, т.е. это не сообщение об ошибке, как могло бы показаться.

Создаем проектные файлы и собираем

Нажимаем кнопку «Generate». Происходит создание проектных файлов для нужной нам IDE. Как правило, этот процесс протекает без ошибок, и CMake GUI можно закрыть. Следующий этап — запуск IDE и собственно сборка. Комментировать здесь особо нечего: запускаем среду и собираем проекты. Отметим только, что ваш компилятор должен поддерживать стандарт C++ не ниже версии 11. Для пользователей Windows это означает, что о сборке в таких средах как MS Visual Studio 2008 и ниже можно забыть (OCCT 7 компилируется, начиная с MS Visual Studio 2010).

Для пользователей MS Visual Studio по умолчанию генерируется три конфигурации: Debug, Release и RelWithDebInfo. RelWithDebInfo позволяет компилировать библиотеку в релизе с символами для дебага (это никак не влияет на производительность библиотеки, но может быть полезно для трассировки ошибок). Пользователям Make-файлов режим Debug vs Release придется выбрать на этапе конфигурирования CMake.

По завершении сборки не забываем проинсталлировать библиотеку. Инсталляция — это не более чем копирование бинарников и заголовочных файлов из build-директории в ту, которая была указана в переменной INSTALL_DIR. Данная практика небесполезна: так вы получаете минимально необходимый набор для линковки своего приложения.

В целом, новая версия каскейда старается казаться более современной, избавляясь от шлейфа устаревших компиляторов, и используя более модные практики программирования внутри самой себя. К таким более современным практикам можно причислить умные указатели, полностью переписанные на шаблонах C++, а также обновленный механизм RTTI. Правильный ли это шаг? Безусловно да, если библиотека хочет развиваться. Легко ли переехать со старых версий OCCT на новую? Увы, нет, изменения очень серьезные, и на портирование придется потратить некоторое время.

Запуск

Библиотеку мы уже собрали и проинсталлировали. В прошлый раз мы указали, как легко ее можно проверить на работоспособность. Проделаем примерно то же самое и сейчас. В директории, где установлена OCCT находим скрипт draw.bat (или draw.sh для пользователей Linux).

Запускаем. Появляется консоль и окошко с меню (интерфейс на Tk).

В окошке выбираем «Samples / View Samples ...». Появляется интерфейс для выбора демонстрационных скриптов OCCT. Выбираем какой-нибудь пример, скажем, «OCCT Tutorial bottle shape».

Жмем кнопку «Run sample». Спустя некоторое время на экране появляется фляжка:

Следовательно, все работает. Приятных экспериментов!

Комментариев: 10 RSS

Добрый день!

Начал разбираться с установкой. Но не могу понять, как это всё сделать для Qt? В документации тоже всё для VS.

Пробовал запустить примеры на Qt - ничего не выходит. В Qt, да и в программировании я новичок. Подскажите, куда копать?

Здравствуйте. Опишите подробнее, что вы делаете и что не получается.

Вот пример приложения с использованием OpenCascade, VTK и Qt: http://quaoar.su/blog/page/analysis-situs

Вот видео-инструкция по сборке OpenCascade: https://www.youtube.com/watch?v=sSGATBmrgQ0

Примеры, идущие в поставке OpenCascade с использованием Qt, не собирал. Они все устаревшие.

Да, наверное я слишком сумбурно написал.

Может быть стоит начать с начала:)

Раньше я в основном писал на C# простенькие программки, необходимые мне в моей инженерной деятельности. Пришла идея написать некий упрощенный аналог Tekla Structures. Начал изучать OpenGL. После долгих поисков выяснил, что лучше использовать готовое геометрическое ядро, конечно, лучше бесплатное. Это будет эффективнее и быстрее уж точно:) Мне показалось, что OpenCascade мне подходит.

В силу некоторых причин не могу использовать Visual Studio. Начал изучать C++, в качестве IDE использую Qt Creator и библиотеку Qt (win32 mingw). Скачал ОССТ, попробовал запустить пример - не заработало. Нашёл в Вашем блоге, что OCCT, оказывается, надо сначала установить. Посмотрел видео, всё вроде понятно и легко. Но как я понял, это всё делается для VS, и в документации тоже написано всё для VS. Отсюда, собственно, мой вопрос: Как инсталлировать OCCT чтобы можно было работать с ним из Qt Creator?

Например, что выбрать в пункте Specify the Generator for the project?

Извините за нубские вопросы, но в интернете довольно мало информации для новичков по этой теме, а порог входа довольно высокий.

(Какая-то проблема с активацией на сайте, зарегистрировался с другого email)

Понял. Сам с Qt Creator не работал, но есть у кого "почерпнуть". Постараюсь поэкспериментировать с этой средой и отпишусь сюда по результатам. Кстати, какие операции моделирования вы собираетесь использовать? Вообще, какая функциональность ядра интересна?

Если честно, я сам еще точно не знаю :) Я в начале длинного пути и даже не знаю на что способно ядро. Постараюсь сейчас сформулировать примерный план. Хорошо, что Вы спросили, а то мне и поговорить об этом не с кем ) 

Первое – я знаю, что должно получиться. Это должна быть простая программа для инженера-конструктора, разрабатывающего строительные чертежи стадии КМД (деталировочные). В идеале ориентируюсь на Tekla Structures, то есть это какая-то BIM-система с параметрическим созданием объектов. Типов объектов не так много, это лист, прокатные профили, заданные изначально и меняющиеся в соответствии с сортаментом. Вес в основном подсчитывается по габаритам, при определенных условиях – в чистоте, с учетом вырезов. Программа должна уметь определить уникальные сборочные единицы, разные и обратные (зеркальные). Должна учитывать сварные и болтовые соединения. Если деталь приваривается – она входит в сборочную марку. Каждая сборочная марка должна выноситься на чертеж и правильно на нем располагаться, детали, входящие в сборку, выноситься отдельно на чертеже и образмериваться. (Алгоритм автоматического образмеривания частично проработан мной в системе Компас через Компас API https://youtu.be/CUJqkYBmcX4). Должна составляться спецификация стали на сборочную марку. 

Если Вы напишете как работать через Qt Creator буду Вам очень признателен! 

Да, конечно, должны определяться коллизии. Это основное, а то строители не смогут смонтировать))

Ну и ещё автоматически нумероваться марки и детали конечно

САПР, как программная система, гораздо шире, чем геометрическое ядро. В частности, в геометрическом ядре (будем говорить про OpenCascade) нет конструктивных элементов и нет параметрики. Такие абстракции и дополнительные механизмы появляются уровнем выше, то есть собственно в параметрической САПР. Что реально вам может дать ядро:

- Чтение/запись формата STEP. Если интересен IFC, то можно посмотреть в сторону библиотеки IfcOpenShell (также реализована на OpenCascade).

- Твердотельные и поверхностные операторы моделирования. Здесь всевозможные экструзии, кинематические формы и -- ключевое -- булевы операторы.

- МЦХ тел и оболочек (объемы, моменты инерции, площади и т.д.).

- (Опционально) Визуализация. Лично сам использую VTK, хотя можно использовать и собственный графический движок OpenCascade (пример: https://www.youtube.com/watch?v=2mecn3YrEkY) и "голый" OpenGL (вопрос только зачем).

- (Опционально) Фреймворк для организации данных приложений. Имеется в виду OCAF. Лично сам его использую, поскольку он дает готовую функциональность Undo/Redo, Open/Save, а также транзакционность и граф зависимостей.

Чего не хватит с большой вероятностью -- параметрический решатель для построения эскизов. Здесь можно посмотреть на реализацию такового в системе FreeCAD (их решатель называется PlaneGCS). Вообще, FreeCAD -- хороший пример параметрического САПРа на ядре OpenCascade. Там и сообщество пользователей весьма и весьма живое (а еще доброжелательное).

В общем, если ваша цель -- создание параметрической САПР, то вы в начале большого пути. Могу пожелать твердости!

Спасибо)

Мои мечты начинают приобретать очертания и понемногу становится виден путь)

FreeCad я рассматривал, думал писать на его основе. Но первая фраза там: "вы должны понимать, как работает ядро". Поэтому я полез на более низкий уровень. Вообще отображение во FreeCad у меня какое-то странное, уж не знаю, с чем это связано. Возможно, я буду брать что-то оттуда или впоследствии буду писать на его основе... Я знаю, там уже есть какая-то BIM сисиема. Пока не знаю. Это всё стратегия.

Сейчас мне нужно запустить ядро в Qt Creator :)

Попробовал собрать для VS 2017. Вин7 32. Чтобы потренироваться и разобраться.

Конфигурация прошла успешно. И хоть Вы и пишете что на стадии Generate ошибок не вылетает, но я способный))

Ниже приведен лог из CMake.

Как я понял мне нужно будет для Qt Creator собрать самому 3d part components, так как там нет собранных для вин 32 MinGW.

Пробовал выбрать при задании конфигурации MinGW Makefiles, получилось это:

"CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.

CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

Configuring incomplete, errors occurred!"

______________

Лог при попытке собрать под VS:

Selecting Windows SDK version 10.0.17134.0 to target Windows 6.1.7601.

Info: /D_WINDOWS has been removed from CMAKE_CXX_FLAGS

Info: /DWIN32 has been removed from CMAKE_CXX_FLAGS

Info: /D_WINDOWS has been removed from CMAKE_C_FLAGS

Info: /DWIN32 has been removed from CMAKE_C_FLAGS

Info: TCL is used by OCCT

Info: TK is used from TCL folder: E:/occ3rdparty/tcltk-86-32

Info: TK is used by OCCT

Info: Freetype is used by OCCT

Info: TKIVtk and TKIVtkDraw toolkits excluded due to VTK usage is disabled

Info: The directories of 3rdparty headers:

E:/occ3rdparty/tcltk-86-32/include

E:/occ3rdparty/freetype-2.5.5-vc14-32/include

Info: The directories of 3rdparty libraries:

E:/occ3rdparty/tcltk-86-32/lib

E:/occ3rdparty/freetype-2.5.5-vc14-32/lib

Info: (00:09:16) Start collecting all OCCT header files into E:/OpenCascade/opencascade-7.3.0_build/inc ...

Info: (00:09:16) Compare FILES with files in package directories...

Warning. File E:/OpenCascade/opencascade-7.3.0/src/GeomInt/GeomInt_BSpGradient_BFGSOfMyBSplGradientOfTheComputeLineOfWLApprox.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/GeomInt/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/GeomInt/GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_0.cx is not listed in E:/OpenCascade/opencascade-7.3.0/src/GeomInt/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/GeomInt/GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/GeomInt/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/Geom2dInt/Geom2dInt_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfGInter.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/Geom2dInt/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/BRepApprox_Gradient_BFGSOfMyGradientbisOfTheComputeLineOfApprox.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/BRepApprox_ParFunctionOfMyGradientbisOfTheComputeLineOfApprox_0.cx is not listed in E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/BRepApprox_ResConstraintOfMyGradientbisOfTheComputeLineOfApprox.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/BRepApprox_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfApprox_0.cx is not listed in E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/BRepFill/BRepFill_DataMapIteratorOfDataMapOfShapeDataMapOfShapeListOfShape.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/BRepFill/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/RWStepRepr/RWStepRepr_RWStructuralResponsePropertyDefinitionRepresentation.cx is not listed in E:/OpenCascade/opencascade-7.3.0/src/RWStepRepr/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/RWStepRepr/RWStepRepr_RWStructuralResponsePropertyDefinitionRepresentation.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/RWStepRepr/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/RWStepShape/RWStepShape_RWDefinitionalRepresentationAndShapeRepresentation.cx is not listed in E:/OpenCascade/opencascade-7.3.0/src/RWStepShape/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/RWStepShape/RWStepShape_RWDefinitionalRepresentationAndShapeRepresentation.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/RWStepShape/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/RWStepShape/RWStepShape_RWGeometricallyBoundedWireframeShapeRepresentation.cx is not listed in E:/OpenCascade/opencascade-7.3.0/src/RWStepShape/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/RWStepShape/RWStepShape_RWGeometricallyBoundedWireframeShapeRepresentation.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/RWStepShape/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/StepVisual/StepVisual_HArray1OfCameraModelD3MultiClippingInterectionSelect.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/StepVisual/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/STEPConstruct/STEPConstruct_DataMapIteratorOfDataMapOfAsciiStringTransient.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/STEPConstruct/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve_gen.px is not listed in E:/OpenCascade/opencascade-7.3.0/src/GeomToStep/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/GeomToStep/GeomToStep_MakeBSplineSurfaceWithKnotsAndRationalBSplineSurface.cx is not listed in E:/OpenCascade/opencascade-7.3.0/src/GeomToStep/FILES

Warning. File E:/OpenCascade/opencascade-7.3.0/src/GeomToStep/GeomToStep_MakeBSplineSurfaceWithKnotsAndRationalBSplineSurface.hx is not listed in E:/OpenCascade/opencascade-7.3.0/src/GeomToStep/FILES

Info: (00:09:31) Create header-links in inc folder...

Info: (00:09:39) Checking headers in inc folder...

Info: (00:09:42) End the collecting

Info: (00:09:42) OCCT toolkits processed

Info: (00:09:42) OCCT configuration files prepared

Configuring done

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

Cannot find source file:

E:/OpenCascade/opencascade-7.3.0/src/GeomInt/GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_0.cxx

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm

.hpp .hxx .in .txx

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKGeomAlgo/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

Cannot find source file:

E:/OpenCascade/opencascade-7.3.0/src/BRepApprox/BRepApprox_ParFunctionOfMyGradientbisOfTheComputeLineOfApprox_0.cxx

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm

.hpp .hxx .in .txx

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKTopAlgo/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

Cannot find source file:

E:/OpenCascade/opencascade-7.3.0/src/BRepFill/BRepFill_DataMapIteratorOfDataMapOfShapeDataMapOfShapeListOfShape.hxx

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm

.hpp .hxx .in .txx

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKBool/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

Cannot find source file:

E:/OpenCascade/opencascade-7.3.0/src/RWStepRepr/RWStepRepr_RWStructuralResponsePropertyDefinitionRepresentation.cxx

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm

.hpp .hxx .in .txx

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKSTEPBase/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

Cannot find source file:

E:/OpenCascade/opencascade-7.3.0/src/StepVisual/StepVisual_HArray1OfCameraModelD3MultiClippingInterectionSelect.hxx

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm

.hpp .hxx .in .txx

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKSTEPAttr/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

Cannot find source file:

E:/OpenCascade/opencascade-7.3.0/src/GeomToStep/GeomToStep_MakeBSplineSurfaceWithKnotsAndRationalBSplineSurface.cxx

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm

.hpp .hxx .in .txx

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKSTEP/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

No SOURCES given to target: TKGeomAlgo

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKGeomAlgo/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

No SOURCES given to target: TKTopAlgo

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKTopAlgo/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

No SOURCES given to target: TKBool

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKBool/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

No SOURCES given to target: TKSTEPBase

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKSTEPBase/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

No SOURCES given to target: TKSTEPAttr

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKSTEPAttr/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

CMake Error at adm/cmake/occt_toolkit.cmake:209 (add_library):

No SOURCES given to target: TKSTEP

Call Stack (most recent call first):

CMakeLists.txt:14 (include)

src/TKSTEP/CMakeLists.txt:3 (OCCT_INCLUDE_CMAKE_FILE)

Урааа, я смог собрать OCCT через Qt Creator, только мне это мало помогло, так как CMake заточен только для VS похоже :( в результате получился у меня проект *.sln, хоть он и собран в Qt Creator... сейчас компилится в VS, посмотрю, рабочий ли.

Думается мне нужно самому переписывать файл CMake, чтобы он мог собрать для Qt Creator...