生成C++文件:.h和.cpp
Build C++ files: .h and .cpp
我们正在尝试学习如何使用.h和.cpp文件构建c++文件。我们不断得到相同的错误:错误LNK2019:未解析的外部符号WinMain@16在函数__tmainCRTStartup中引用,我们不知道自己做错了什么。这是我们3个文件中的代码:
// First cpp file
#include "stdafx.h"
#include <iostream>
#include "chayaGradeBook.h.h"
namespace std;
//constructor
GradeBook::GradeBook (string name)
{
setCourseName(name);
}
void GradeBook::setCourseName(string name)
{
if (name.size() <= 25)
courseName=name;
if (name.size() > 25)
{
courseName = name.substr (0, 25);
cerr << "Name "" <<name<< ""exceeds maximum length (25).n"<< "Limiting courseName to first 25 charachters.n"<<endl;
}
}
string GradeBook::getCourseName() const
{
return courseName;
}
void GradeBook::displayMessage() const
}
cout << "Welcome to the grade book for n" << getCourseName() << "!" <<endl;
}
// chayaGradeBook.h.h
#include <string>
//Grade Book class definition
class GradeBook
{
public:
explicit GradeBook (std::string);
void setCourseName (std::string);
std::string getCourseName() const;
void displayMessage() const;
private:
std::string courseName;
};
main.cpp文件:
#include "stdafx.h"
#include <iostream>
#include "chayaGradeBook.h.h"
#include "chayaGradeBook.cpp"
using namespace std;
int main()
{
GradeBook gradeBook1 ("CS101 Introduction to Programming in C++");
GradeBook gradeBook2 ("CS102 Data Structures");
cout<< "gradeBook1's initial course name is: "
<< gradeBook1.getCourseName()
<<"ngradeBook2's inital course name is: "
<< gradeBook2.getCourseName()<< endl;
gradeBook1.setCourseName("CS101 C++ Programming");
cout <<"ngradeBook1's course name is: "
<<gradeBook1.getCourseName()
<< "ngradeBook2's course name is: "
<< gradeBook2.getCOurseName() <<endl;
}
Linker找不到您的WinMain(),这是windows应用程序的一个重要问题。创建新的控制台项目并将您的文件复制到其中,这应该会有所帮助。
这是Windows操作系统的特点。Microsoft认为WinMain
更适合"本机Windows"应用程序(而不是main
):-)
根据逻辑,"本机窗口"应用程序与Windows密切相关,基于本机Windows API,不可移植。就C++而言,这很可能是一个"独立环境"的例子
您需要IDE中的"控制台应用程序项目"。。。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- Linux的Cpp上的计时器
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 命名空间中具有.h和.cpp文件的类
- 内置函数可查看CPP中的成员变量
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- Cpp-Tuple使用带有变量的get
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何通过cpp程序运行shell脚本
- 使用2个键的cpp-stl::优先级队列排序不正确
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 如何在cpp文件之间切换窗口?在Qt中
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 我需要知道编译器如何在cpp中使用析构函数
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 无法在UE4中包含BP类到CPP类
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 无法使用Qt Creator在Windows中构建yaml-cpp