Как собрать open62541 в C++ Builder 6 с использованием CMake или без него?

Я пытаюсь собрать open62541 в C++ Builder 6. Мне удалось найти шаги, чтобы сделать то же самое в Visual Studio. Но я хочу сделать это в C++ Builder 6.

Я выполнил шаги, описанные для сборки open62541 с использованием Visual Studio по следующей ссылке: https://open62541.org/doc/current/building.html. Я не хочу использовать Visual Studio, но C++ Builder 6. Но я получаю следующую ошибку.

Я установил следующее ПО.

  1. CMake 3.10.0
  2. Питон 2.7.1
  3. С++ строитель 6
  4. Open62541

     cd <path-to>\open62541
    
     mkdir build
    
     cd build
    
     <path-to>\cmake.exe .. -G "C++ Builder 6"
    

Но я получаю сообщение об ошибке «Система не может найти указанный путь» при выполнении команды:

C:\Program Files\CMake\bin\cmake.exe .. -G "C++ Builder 6"

изображение

Я добавил CMake в переменную PATH. Я также хотел бы знать, возможна ли сборка open62541 с помощью C++ Builder 6.

Частичное решение:

Команды:

     cd <path-to>\open62541

     mkdir build

     cd build

     cmake <path-to>\cmake.exe .. -G "Borland Makefiles"

Эти шаги компилируются без каких-либо проблем, и создается каталог сборки и файлы. Я до сих пор не могу понять, почему файл open62541.h не был создан даже после установки значения EN_AMALGAMATION в YES. Обновлю, как только получу решение


person inapathtolearn    schedule 11.09.2019    source источник
comment
Вы уверены, что ошибка Система не может найти указанный путь применяется именно к cmake.exe? Пожалуйста, предоставьте точное сообщение об ошибке (это сообщение об ошибке должно включать место, где оно возникло).   -  person Tsyvarev    schedule 11.09.2019
comment
@Tsyvarev Я прилагаю скриншот командной строки, где я получаю сообщение об ошибке.   -  person inapathtolearn    schedule 11.09.2019
comment
Ваша фактическая командная строкаcd <path-to>\cmake.exe .. -G "C++ Builder 6". Примечание к началу cd.   -  person Tsyvarev    schedule 11.09.2019
comment
Я сомневаюсь, что BCB6 совместим с проектами MSVC ++ ... никогда не видел, чтобы с ним использовалось cmake ... Моя ставка: вам нужно создать новый проект и добавить в него свои файлы ... преобразование материалов, связанных с MSVC ++, для совместимости с компилятором BCB ( вы знаете, включает, пути и т.д...), это много работы с сомнительными результатами...   -  person Spektre    schedule 11.09.2019
comment
Да, я использовал cd C:\Program Files\CMake\bin\cmake.exe .. -G C++ Builder 6, как показано на скриншоте   -  person inapathtolearn    schedule 11.09.2019
comment
@spektre вы имеете в виду создать новый проект в BCB6 и правильно добавить в него файлы. ? Я знаком с тем, как это сделать в Visual Studio и Eclipse. То же самое в BCB6?   -  person inapathtolearn    schedule 11.09.2019
comment
@mira более или менее, но будьте осторожны, он отличается от файла #include <> и добавьте его в проект !!! если проект представляет собой консольное приложение, это должно быть довольно просто,... если это графический интерфейс, его будет сложно портировать и, скорее всего, он будет нестабильным или некомпилируемым...   -  person Spektre    schedule 11.09.2019
comment
добавить в проект для окон VCL (c/h/dfm), а для файлов obj/dll/lib #include для фактического исходного кода и заголовков... MSVC++ и GCC не используют #include для всех файлов, вместо этого они связаны в файле проекта, а не как BCB работает   -  person Spektre    schedule 11.09.2019
comment
Вам нужно выполнить cmake.exe, а не менять каталог (cd) на него. Команда cd используется только для перехода в каталог build перед вызовом cmake.exe. Посмотрите учебник - в этой строке не указана команда cd.   -  person Tsyvarev    schedule 11.09.2019
comment
@Tsyvarev Большое спасибо за указание на эту ошибку ... не могли бы вы сказать мне, какой генератор я должен использовать из списка (я использую C ++ Builder 6), моим ближайшим предположением были Borland Makefiles, но я получил ошибку CMake Error at C :/Program Files/CMake/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (сообщение): НЕ удалось найти PythonInterp (отсутствует: PYTHON_EXECUTABLE).   -  person inapathtolearn    schedule 11.09.2019
comment
Вы проверили эту ссылку? В нем описывается использование CMake с C++ Builder. Ошибка «Не удалось найти PythonInterp» просто означает, что вам нужно установить Python.   -  person Tsyvarev    schedule 11.09.2019
comment
Я уже установил Python 2.7 перед выполнением этих команд. И да, спасибо, что поделились ссылкой. Я уже проверял эту ссылку раньше. Это для версии C++ Builder 10.3. Я использую C++ Builder 6.   -  person inapathtolearn    schedule 11.09.2019
comment
Я добавил путь к исполняемому файлу python в путь к файлу, и это сработало.   -  person inapathtolearn    schedule 11.09.2019
comment
Решение: Запустите приведенные выше команды с командой lst как: cmake C:\Program Files\CMake\bin\cmake.exe .. -G Borland Makefiles. Если возникает ошибка отсутствия исполняемого файла Python, отредактируйте путь в файле CmakeCache.txt в папке сборки open62541. Спасибо всем за ваши ответы   -  person inapathtolearn    schedule 11.09.2019
comment
@mira Если возможно, составьте свои шаги для решения в сообщении с ответом и отметьте как принятое, чтобы будущие зрители могли найти решение.   -  person squareskittles    schedule 11.09.2019
comment
@mira BCB6 использует совершенно другой компилятор Я не думаю, что он совместим с cmake ... попробуйте найти что-то вроде bcc32.exe в папке [bin] BCB, которая должна быть вашим целевым исполняемым файлом компилятора ... Однако не уверен, что BCB6 не использовал его в течение длительного времени ... если нет, вы можете бесплатно загрузить Borland/Embarcadero bcc32 5.5 с их сайта (без IDE для бесплатного использования), в настоящее время Borland использует CLANG компилятор, и он должен быть совместим с cmake ... но я застрял с BDS2006, поэтому я могу ошибаться, поскольку я еще не использую новые вещи   -  person Spektre    schedule 11.09.2019


Ответы (1)


Не прямой ответ, но это кросспост с https://github.com/open62541/open62541/issues/3094

Другие читатели могут найти ответы там.

person Stefan Profanter    schedule 11.09.2019
comment
да ... это снова был я, кто задал вопрос на этом форуме ... Но не было ответа относительно сборки open62541 с C ++ Builder 6. Ссылка, которую они дали в решении, была для C ++ Builder 10.3 - person inapathtolearn; 11.09.2019
comment
Вы всегда должны упоминать в своем сообщении, что есть другой форум/платформа, где вы уже размещали свой вопрос. Будьте справедливы к людям, которые пытаются вам помочь. - person Stefan Profanter; 11.09.2019
comment
К вашему сведению, это был еще один вопрос, который я задал там, прежде чем найти шаги для сборки файлов с помощью компоновщика C++. - person inapathtolearn; 11.09.2019