我之前使用 Xcode
来构建和运行 C++
程序。
现在,我使用命令行来编译同样的源代码,并将其添加到我的 Xcode
项目中。
编译单个的 .cpp
文件是没有问题的。
但是,编译更复杂的项目(多个文件)就会遇到未定义的符号问题。
我尝试了 gcc
, g++
, clang
, clang++
,但是问题依然存在。
你能否介绍一下如何通过命令行编译更复杂的项目(多个文件)呢?
根据你的描述,看起来你没有使用-c
(编译但不链接)标志。构建项目的步骤如下:
Compile all of the source files:
c++ -c file1.cpp
c++ -c file2.cpp
c++ -c file3.cpp
Link your final executable:
c++ file1.o file2.o file3.o
You can use an optional -o
flag to specify the output program name. It probably defaults to a.out
.
最好使用某种构建工具(例如 make
)来自动化此过程,否则你会发现这很容易出错。
-c
标志。 - Carl Norum