multiarch / crossbuild

:earth_africa: multiarch cross compiling environments
MIT License
933 stars 141 forks source link

./a.out: cannot execute binary file: Exec format error #45

Open masterneko opened 4 years ago

masterneko commented 4 years ago

Makefile:

all: main.cpp
    @gcc -xc++ -lstdc++ -shared-libgcc main.cpp
    @echo Finished macOS compile

main.cpp:

#include <iostream>

int main()
{
    std::cout << "Hello world" << std::endl;
    return 0;
}
$ docker run -it --rm -v $(pwd):/workdir -e CROSS_TRIPLE=x86_64-apple-darwin  multiarch/crossbuild bash
$ make
Finished macOS compile
$ ./a.out
bash: ./a.out: cannot execute binary file: Exec format error
tonisives commented 3 years ago

i specified the actualt image id:

docker run --rm -v $(pwd):/workdir -e CROSS_TRIPLE=windows 846ea4d99d1a make helloworld