Sublime Text无法在C中编译多文件项目

我要编译一个多文件C程序,并且出现以下错误;

Undefined symbols for architecture i386:
  "included::printMSG()", referenced from:
      _main in ccQwMj1l.o
ld: symbol(s) not[Finished in 0.3s with exit code 1] found for architecture i386
collect2: ld returned 1 exit status

我的代码:
main.cpp:https://gist.github.com/3845822

cpp:https://gist.github.com/3845825

h.https://gist.github.com/3845827

(确认可以与g一起使用)

编辑:我不是将这些文件放在一个项目中,它们都都在同一个文件夹中,并且我正在编译main.cpp

解决方法:

您不仅可以编译一个文件,还希望所有其他文件都自动链接到该文件以创建最终程序.

实现该目标的一种方法是使用一个名为make的程序,该程序读取包含make遵循规则的Makefile.

一个简单的Makefile可能如下所示:

CXXFLAGS = -Wall -g

my_pogram: main.o other_file.o third_file.o
    g++ main.o other_file.o third_file.o -o my_program

main.o: main.cpp
    g++ $(CXXFLAGS) -c -o main.o main.cpp

other_file.o: other_file.cpp
    g++ $(CXXFLAGS) -c -o other_file.o other_file.cpp

third_file.o: third_file.cpp
    g++ $(CXXFLAGS) -c -o third_file.o third_file.cpp

还有其他类似程序可以处理此问题.最受欢迎的是CMake.

上一篇:Android之布局androidmanifest.xml 资源清单 概述


下一篇:Mac OS 命令行下使用SublimeText 打开文本文件