Я пытаюсь собрать OpenCascade из исходного кода. Я использую это руководство: https://github.com/tpaviot/oce/blob/master/BUILD.MINGWw64.md
Все шаги с 1 по 5, включая загрузку, выполнены. Теперь я пытаюсь построить с помощью CMAKE
* Я использовал параметр «Где находится исходный код», чтобы указать на каталог oce (как указано). * Я использовал параметр «Где собирать двоичные файлы», чтобы указать папку, которую я назвал «СТРОЙКА» внутри каталога, упомянутого в предыдущем шаге (как указано). * Я нажал «Настроить» и выбрал MSYS Makefiles с собственными компиляторами по умолчанию.
Вот и начались ошибки. Я заметил, что CMake создал текстовый файл, поэтому я зашел внутрь и изменил местоположение CMAKE MAKE: CMAKE_MAKE_PROGRAM:FILEPATH=C:/Users/User1/Desktop/OPENCA~1/msys/bin
Там я продвинулся вперед, но появились новые ошибки.
так как мне двигаться дальше?
Затем руководство говорит: Проверить OCE_USE_BUNDLE_SOURCE Проверить OCE_WITH_FREEIMAGE Проверить OCE_WITH_GL2PS Проверить OCE_VISUALISATION
Где я могу установить это? Внутри текстового файла таких переменных нет, и я не могу их настроить на CMAKE.
РЕДАКТИРОВАТЬ: Это ошибки, которые я получаю сейчас:
The C compiler identification is GNU 8.1.0
The CXX compiler identification is GNU 8.1.0
Detecting C compiler ABI info
CMake Error: Generator: execution of make failed. Make command was: C:/Users/User1/Desktop/OPENCA~1/msys/bin cmTC_a5bfb/fast &&
Detecting C compiler ABI info - failed
Check for working C compiler: C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe
CMake Error: Generator: execution of make failed. Make command was: C:/Users/User1/Desktop/OPENCA~1/msys/bin cmTC_d3ad7/fast &&
Check for working C compiler: C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:66 (message):
The C compiler
"C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/Users/User1/Desktop/OpenCascade project/oce/BUILD/CMakeFiles/CMakeTmp
Run Build Command(s):C:/Users/User1/Desktop/OPENCA~1/msys/bin cmTC_d3ad7/fast && Access is denied
Generator: execution of make failed. Make command was: C:/Users/User1/Desktop/OPENCA~1/msys/bin cmTC_d3ad7/fast &&
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:20 (project)
Configuring incomplete, errors occurred!
See also "C:/Users/User1/Desktop/OpenCascade project/oce/BUILD/CMakeFiles/CMakeOutput.log".
See also "C:/Users/User1/Desktop/OpenCascade project/oce/BUILD/CMakeFiles/CMakeError.log".
РЕДАКТИРОВАТЬ 2: в CMake есть несколько нулевых параметров:
РЕДАКТИРОВАТЬ 3: Следуя совету Цыварева, я изменил строку на
CMAKE_MAKE_PROGRAM:FILEPATH=C:/Users/User1/Desktop/OPENCA~1/msys/bin/make.exe
Это ошибки, которые я получаю:
The C compiler identification is GNU 8.1.0
The CXX compiler identification is GNU 8.1.0
Detecting C compiler ABI info
CMake Error: Generator: execution of make failed. Make command was: C:/Users/User1/Desktop/OPENCA~1/msys/bin cmTC_51dc6/fast &&
Detecting C compiler ABI info - failed
Check for working C compiler: C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe
CMake Error: Generator: execution of make failed. Make command was: C:/Users/User1/Desktop/OPENCA~1/msys/bin cmTC_88ba8/fast &&
Check for working C compiler: C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:66 (message):
The C compiler
"C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/Users/User1/Desktop/OpenCascade project/oce/BUILD/CMakeFiles/CMakeTmp
Run Build Command(s):C:/Users/User1/Desktop/OPENCA~1/msys/bin cmTC_88ba8/fast && Access is denied
Generator: execution of make failed. Make command was: C:/Users/User1/Desktop/OPENCA~1/msys/bin cmTC_88ba8/fast &&
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:20 (project)
Configuring incomplete, errors occurred!
See also "C:/Users/User1/Desktop/OpenCascade project/oce/BUILD/CMakeFiles/CMakeOutput.log".
See also "C:/Users/User1/Desktop/OpenCascade project/oce/BUILD/CMakeFiles/CMakeError.log".
cmake-gui
, выбрать новый каталог сборки, выбрать исходный каталог и затем запуститьConfigure
. Затем CMake пытается найти все конфигурации и команды самостоятельно и просто сообщает вам (отмечая записи красным цветом), что ему нужно дополнительно и что еще не найдено. - person Benjamin Bihler   schedule 28.07.2020CMAKE_MAKE_PROGRAM
должна содержать путь к исполняемому файлу, но вы назначаете ей каталог (C:/Users/User1/Desktop/OPENCA~1/msys/bin
). 2. CMake обычно может сам найти исполняемый файл make. Неспособность сделать это обычно сигнализирует о неправильном генераторе CMake. выбранные или неправильные настройки среды. Кстати, какой генератор CMake вы выбрали? - person Tsyvarev   schedule 28.07.2020OCE_USE_BUNDLE_SOURCE
не появились, возможно, вы выбрали неверную исходную папку. В исходной папке OCE должен быть файл с именемCMakeLists.txt
. Это правильная папка! Выберите этот и снова нажмитеConfigure
. - person Benjamin Bihler   schedule 30.07.2020oce
, должны быть файлoce/CMakeLists.txt
, подкаталогoce/oce-win-bundle
и файлoce/oce-win-bundle/CMakeLists.txt
. Затем вы правильно настроили свой проект и можете начать с шагов конфигурации и компиляции. - person Benjamin Bihler   schedule 30.07.2020CMAKE_MAKE_PROGRAM
, но, судя по выходным данным, CMake по-прежнему используетC:/Users/User1/Desktop/OPENCA~1/msys/bin
. - person Tsyvarev   schedule 30.07.2020msys.exe
, с которого можно было бы запустить? Разве в меню «Пуск» Windows также нет записи, чтобы открыть оболочку MSYS? Если это полностью не удается, вы также можете попробовать MSYS2 (я переключился несколько лет назад). Удачи! - person Benjamin Bihler   schedule 31.07.2020make
находится в вашем пути Windows, но MSYS2 не обязательно добавляет путь Windows к своему собственному пути. Если вы проверите файлmsys2.ini
в папке установки MSYS2, вы можете добавить (или раскомментировать?) строкуMSYS2_PATH_TYPE=inherit
, тогда все исполняемые файлы в вашем пути Windows должны быть доступны в MSYS2 без определения вашего пути MSYS2 вручную. - person Benjamin Bihler   schedule 03.08.2020mingw32-make
. С ним здесь прекрасно работают параллельные сборки. Поэтому, если (надеюсь, скоро) сборка заработает, вы можете выполнитьmingw32-make -j 16
, чтобы запустить до шестнадцати экземпляров компилятора для быстрой параллельной сборки. - person Benjamin Bihler   schedule 03.08.2020cmake-gui
вы найдете его имя рядом с тремя кнопкамиConfigure
,Generate
,Open Project
. С вашей конфигурацией вам, вероятно, следует использовать MSYS Makefiles или, возможно, MinGW Makefiles в качестве генератора. Перед изменением генератора вам, возможно, придется удалить каталог сборки и перезапустить конфигурацию? - person Benjamin Bihler   schedule 03.08.2020CMAKE_MAKE_PROGRAM
. CMake автоматически определяет его как.../mingw64/bin/mingw32-make.exe
на моем компьютере. Но я не знаю, является ли это причиной ваших бед...? - person Benjamin Bihler   schedule 04.08.2020CMAKE_MAKE_PROGRAM
? Он неправильно определяется во время настройки? Обычно вам не нужно самостоятельно вводить инструменты сборки. CMake обнаружит их автоматически, если они находятся в пределах вашего пути! - person Benjamin Bihler   schedule 04.08.2020