我可以使用g++ -Wall -c pa1.cpp -o pa1
在OSX终端中运行编译。这创建了pa1
,所以我知道我的编译工作在终端,但我遇到执行问题。我尝试了./pa1
,./a.out
,pa1
和其他一些人。我相信问题在于Xcode,但我的代码将在终端中编译并创建可执行文件的事实让我不确定。想到,我会在重新安装Xcode之前询问这里的建议。
答案 0 :(得分:1)
使用g++ pa1.cpp -o pa1
,然后您就可以将新的可执行文件作为./pa1
运行。这要求您的整个程序都在pa1.cpp
。如果它分布在多个文件中,则必须在命令行中列出所有文件。
如评论中所述,-c
选项意味着编译,即。创建一个可以传递给链接器以构建可执行文件的目标文件。如果不使用此选项,g++
将首先编译任何源文件,然后在所有目标文件上调用链接器以默认创建名为a.out
的可执行文件(名称来自历史原因)。
您可以使用file
util看到命令的输出不是可执行二进制文件,而是中间对象文件。