使用 Qt Creator 生成的可执行文件格式为 ELF 64-bit LSB shared object
gcc 版本 7.5.0,在 Nautilus 里打开会报错: 没有安装处理“共享库”文件的应用程序
解决办法,在 Qt 的 .pro 文件里添加 QMAKE_LFLAGS += -no-pie
然后生成的可执行文件格式变为 ELF 64-bit LSB executable
原因是 gcc 默认会使用 pie 格式编译
Executables vs Shared objects
file 5.36 以上版本会显示为 ELF 64-bit LSB pie executable
Why does GCC create a shared object instead of an executable binary according to file?