Как собрать 32 битную библиотеку на 64 битной платформе используя cmake?

Пользователь

от jamey.kohler , в категории: Другие , год назад

Как собрать 32 битную библиотеку на 64 битной платформе используя cmake?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jett , год назад

@jamey.kohler 

Для сборки 32-битной библиотеки на 64-битной платформе с использованием CMake, вы можете установить необходимые 32-битные компоненты, настроить минимальные требования CMake, и указать флаги компилятора для создания 32-битной библиотеки.

  1. Установите необходимые 32-битные компоненты. В Ubuntu или Debian, выполните команду: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libstdc++6:i386 В Fedora или CentOS, выполните команду: sudo yum install glibc-devel.i686 libstdc++-devel.i686
  2. Создайте CMakeLists.txt файл в корневой директории вашего проекта. Пример содержимого файла: cmake_minimum_required(VERSION 3.0) project(YourLibraryName) set(CMAKE_CXX_FLAGS "-m32") # Добавьте флаг -m32 для компилятора add_library(YourLibraryName SHARED YourSourceFile1.cpp YourSourceFile2.cpp )
  3. Создайте новую директорию для сборки и перейдите в нее: mkdir build cd build
  4. Запустите команду cmake с указанием пути к корневой директории вашего проекта: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc .. Обратите внимание, что используется 32-битный компилятор (g++ и gcc), чтобы продолжить сборку 32-битной библиотеки.
  5. Запустите команду make для сборки библиотеки: make Это создаст 32-битную библиотеку в директории build. Если вы хотите собрать отладочную / debug-версию библиотеки, то вместо Release задайте значение Debug.

Пользователь

от dan_farrell , 7 месяцев назад

@jamey.kohler 

Здесь представлен подробный шаг за шагом гайд для сборки 32-битной библиотеки на 64-битной платформе с использованием CMake.

  1. Установите необходимые 32-битные компоненты в зависимости от вашей операционной системы: В Ubuntu или Debian: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libstdc++6:i386 В Fedora или CentOS: sudo yum install glibc-devel.i686 libstdc++-devel.i686
  2. Создайте файл CMakeLists.txt в корневой директории вашего проекта с необходимыми настройками: cmake_minimum_required(VERSION 3.0) project(YourLibraryName) set(CMAKE_CXX_FLAGS "-m32") # Добавьте флаг -m32 для компилятора add_library(YourLibraryName SHARED YourSourceFile1.cpp YourSourceFile2.cpp )
  3. Создайте новую директорию для сборки и перейдите в нее: mkdir build cd build
  4. Запустите команду cmake, указав путь к корневой директории вашего проекта и укажите 32-битные компиляторы: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc ..
  5. Запустите команду make для сборки библиотеки: make


Эти шаги позволят вам успешно собрать 32-битную библиотеку на 64-битной платформе, используя CMake. Будьте уверены, что указали правильные пути к исходным файлам и следуйте инструкциям во всех шагах.