Email or username:

Password:

Forgot your password?
KitsuQ98 :verified_paw:

Помогите, я чет туплю
есть приложение, собирается через
cmake ..
make -s

мне нужно на 64 бит хосте (дебиане) собрать это под 32 бит хост

указываю командам ключи -march=pentium-m либо -march=i686, но оно все равно в итоге собирает 64 бит ELF
:blobfoxannoyed:

8 comments
iliazeus

@marifox попробуй передать эти ключи не самим cmake/make, а через переменную CFLAGS (или CXXFLAGS, если это C++)

CFLAGS='-march=m32' cmake

CFLAGS и CXXFLAGS должны передаваться напрямую компиляторам. Сами cmake/make ключи -march никак вроде не обрабатывают.

KitsuQ98 :verified_paw:

@iliazeus ругаеца так
cc1: error: CPU you selected does not support x86-64 instruction set

iliazeus

@marifox я ошибся с флагом. Попробуй -m32, без -march

CFLAGS='-m32' CXXFLAGS='-m32' cmake

KitsuQ98 :verified_paw:

@iliazeus
-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - broken
CMake Error at /usr/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message):
The C++ compiler
"/usr/bin/c++"
is not able to compile a simple test program.
It fails with the following output:

gmake[1]: *** [CMakeFiles/cmTC_02153.dir/build.make:106: cmTC_02153] Error 1
gmake[1]: Leaving directory '/home/xen/sources/nchat/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:140: cmTC_02153/fast] Error 2

CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:3 (project)

-- Configuring incomplete, errors occurred!
See also "/home/xen/sources/nchat/build/CMakeFiles/CMakeOutput.log".
See also "/home/xen/sources/nchat/build/CMakeFiles/CMakeError.log".

@iliazeus
-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - broken
CMake Error at /usr/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message):
The C++ compiler
"/usr/bin/c++"
is not able to compile a simple test program.
It fails with the following output:

iliazeus

@marifox думаю, тебе нужны компилятор или библиотеки под 32 бит. Я плохо знаю, как их поставить на debian, сорян. Вот тут вроде есть инструкции:

baeldung.com/linux/compile-32-

Go Up