最近,在Ubuntu18.04下使用g++编译时出现以下错误,记录一下解决方法 原因 自16.10起,gcc就默认开启了pie选项,导致编译出的文件的mime是application/x-sharedlib,一般的文件管理器只认application/x-executable,就没把它当成可执行的文件. 解决方法 g++ -fno-pie -no-pie output.o -o test 另外,在makefile中也可以添加,使得编译后的文件为可执行文件。