GCC/G++ в Unbuntu создает файл .exe, который не запускается: «Ошибка формата Exec» ⇐ C++
-
Anonymous
GCC/G++ в Unbuntu создает файл .exe, который не запускается: «Ошибка формата Exec»
Я пытаюсь скомпилировать свой рабочий код C/C++ с GCC/G++ в Ubuntu - за исключением одной странной ошибки и нескольких очень незначительных отличий от порта MinGW GCC, компиляторов Intel и MSC, которые он скомпилировал и связал, ОК. .
Хотя он скомпоновался без предупреждений и создал файл по умолчанию a.exe, полученный исполняемый файл отказывается запускаться из командной строки bash. Я предполагаю, что это какая-то ошибка конфигурации с моей стороны. И GCC, и G++ были установлены со стандартными настройками по умолчанию. Ниже приведена последняя ссылка и шаг выполнения вместе с результатом gcc -v.
echo "Начальная ссылка" Стартовая ссылка gcc KeplerSolver.cpp -o KeplerSolver -O3 -Ofast -lm эталонный тест.o BM_shims.o BM_starter.o classic.o compilertests.ouberoot.o deltas.o intel.o MyTrig.o opt_starter.o quartic.o PadeApprox.osolver.o starter.o stdafx.otests.overify.o martin@martin-virtual-machine:~/Documents/ks$ ./a.exe bash: ./a.exe: невозможно выполнить двоичный файл: ошибка формата Exec martin@martin-virtual-machine:~/Documents/ks$ gcc -v Использование встроенных спецификаций. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa OFFLOAD_TARGET_DEFAULT=1 Цель: x86_64-linux-gnu Настраивается с помощью: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' -- with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable- языки=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major- только версия --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared -- Enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable- threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu -- Enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new -- включить-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie -- with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto -- Enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic - -enable-offload-targets=nvptx-none=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp- nvptx/usr,amdgcn-amdhsa=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp-gcn/usr --без- cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu - -target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link- сериализация = 2 Модель потока: posix Поддерживаемые алгоритмы сжатия LTO: zlib zstd. gcc версия 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) Кажется, у меня есть библиотеки во всех нужных местах. Тот же код был успешно построен с GCC с использованием MinGW под Windows (просто некоторый ключевой код с плавающей запятой был жестко зашит в x87). Может ли кто-нибудь заметить, что я здесь делаю не так?
Я пытаюсь скомпилировать свой рабочий код C/C++ с GCC/G++ в Ubuntu - за исключением одной странной ошибки и нескольких очень незначительных отличий от порта MinGW GCC, компиляторов Intel и MSC, которые он скомпилировал и связал, ОК. .
Хотя он скомпоновался без предупреждений и создал файл по умолчанию a.exe, полученный исполняемый файл отказывается запускаться из командной строки bash. Я предполагаю, что это какая-то ошибка конфигурации с моей стороны. И GCC, и G++ были установлены со стандартными настройками по умолчанию. Ниже приведена последняя ссылка и шаг выполнения вместе с результатом gcc -v.
echo "Начальная ссылка" Стартовая ссылка gcc KeplerSolver.cpp -o KeplerSolver -O3 -Ofast -lm эталонный тест.o BM_shims.o BM_starter.o classic.o compilertests.ouberoot.o deltas.o intel.o MyTrig.o opt_starter.o quartic.o PadeApprox.osolver.o starter.o stdafx.otests.overify.o martin@martin-virtual-machine:~/Documents/ks$ ./a.exe bash: ./a.exe: невозможно выполнить двоичный файл: ошибка формата Exec martin@martin-virtual-machine:~/Documents/ks$ gcc -v Использование встроенных спецификаций. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa OFFLOAD_TARGET_DEFAULT=1 Цель: x86_64-linux-gnu Настраивается с помощью: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' -- with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable- языки=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major- только версия --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared -- Enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable- threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu -- Enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new -- включить-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie -- with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto -- Enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic - -enable-offload-targets=nvptx-none=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp- nvptx/usr,amdgcn-amdhsa=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp-gcn/usr --без- cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu - -target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link- сериализация = 2 Модель потока: posix Поддерживаемые алгоритмы сжатия LTO: zlib zstd. gcc версия 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) Кажется, у меня есть библиотеки во всех нужных местах. Тот же код был успешно построен с GCC с использованием MinGW под Windows (просто некоторый ключевой код с плавающей запятой был жестко зашит в x87). Может ли кто-нибудь заметить, что я здесь делаю не так?
Мобильная версия