gcc error: wrong ELF class: ELFCLASS64

后端 未结 5 1630
轻奢々
轻奢々 2020-12-17 08:51

I was trying to compile a program using an external compiled object coreset.o. I wrote the public01.c test file and my functions are in computation.c, both of which compile

相关标签:
5条回答
  • 2020-12-17 09:04

    I think that coreset.o was compiled for 64-bit, and you are linking it with a 32-bit computation.o.

    You can try to recompile computation.c with the '-m64' flag of gcc(1)

    0 讨论(0)
  • 2020-12-17 09:08

    It turns out the compiler version I was using did not match the compiled version done with the coreset.o.

    One was 32bit the other was 64bit. I'll leave this up in case anyone else runs into a similar problem.

    0 讨论(0)
  • 2020-12-17 09:09

    You can specify '-m32' or '-m64' to select the compilation mode.

    When dealing with autoconf (configure) scripts, I usually set CC="gcc -m64" (or CC="gcc -m32") in the environment so that everything is compiled with the correct bittiness. At least, usually...people find endless ways to make that not quite work, but my batting average is very high (way over 95%) with it.

    0 讨论(0)
  • 2020-12-17 09:10

    It looks like the object file was compiled on a 64-bit toolchain, and you're using a 32-bit toolchain. Have you tried recompiling the object file in 32-bit mode?

    0 讨论(0)
  • 2020-12-17 09:11
    sudo apt-get install ia32-libs 
    
    0 讨论(0)
提交回复
热议问题