我有SublimeText 3的问题和对类构造函数的未定义引用。我认为问题在于链接。
我有main.cpp,Student.cpp和Student.h。
代码现在非常简单
main.cpp中:
#include "Student.h"
int main(int argc, char const *argv[])
{
Student student1;
return 0;
}
Student.h:
#ifndef _S
#define _S
#include <iostream>
using namespace std;
class Student
{
public:
Student();
~Student();
};
#endif
结束Student.cpp
#include "Student.h"
Student::Student() {}
Student::~Student(){}
有什么建议我必须安装哪些软件包或要更改什么?
我将不胜感激任何帮助
玛利亚
编辑:
感谢您的回答!我通过创建一个Makefile解决了这个问题。 我必须安装GnuWin,我的#39;制作&#39;可以工作,然后在Sublime I选择BuildSystem - &gt;制作以及我的makefile的样子:
NEW=5.1
NEW2 = Student
KOMP=g++
FLAGS= -std=c++11 -Wall -g
$(NEW):$(NEW).o $(NEW2).o
$(KOMP) $(FLAGS) $^ -o $@
$(NEW).o:$(NEW).cpp
$(KOMP) -c $(FLAGS) $^ -o $@
$(NEW2).o:$(NEW2).cpp $(NEW2).h
$(KOMP) -c $(FLAGS) $^
clean:
rm -f *.o *.gch $(NEW)
run: $(NEW)
./$(NEW)
valgrind: $(NEW)
valgrind -v ./$(NEW)
gdb: $(NEW)
gdb ./$(NEW)
之后我必须安装PackageResourceViewer来添加变种&#34;运行&#34;和其他(记得在&#34;变种&#34;)
中的每个{}之后添加希望我的帖子也可以帮助别人:)
答案 0 :(得分:0)
错误源自链接器,因为它无法查看构造函数的定义所在的位置。在Sublime Text 3中,有Build System&#34; logic&#34;像makefile一样。 (工具 - &gt;构建系统) 例如,Windows的测试cpp构建系统就是这样的想法:
{
"shell_cmd": "\"%VS120COMNTOOLS%\\..\\..\\VC\\vcvarsall.bat\" amd64 && cl /nologo \"$file\"",
"file_regex": "^(.*?)\\(([0-9+])(?:,([0-9+]))?\\)\\s+:\\s+(.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++"
}
尝试创建一个&#34;构建系统&#34;这符合您的需求,然后构建您的源代码。