其他分享
首页 > 其他分享> > Sublime Text无法在C中编译多文件项目

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.

标签:c,sublimetext2,sublimetext
来源: https://codeday.me/bug/20191013/1908304.html