找回密码
 立即注册

qtcreator里添加一个类后需要加main函数

发表于 2018-2-9 14:37:03 | 显示全部楼层 |阅读模式
1Qter豆
我用qtcreator和MSVC,创建了一个c++项目,可是当我在其中添加一个自定义类时(共原本项目中的main.cpp
里的主函数使用),
它需要我在新写的类的cpp文件里写一个main()函数,(原本项目中的main.cpp里已经有main函数了)。
不写它link就提示我说找不到main 符号引用。
我该怎么调整设置,让这个类只是一个类而不用写main函数啊?

回复

使用道具 举报

发表于 2018-2-9 19:04:58 | 显示全部楼层
有点乱……写main函数和类本来就不是一件互相干扰的事情……上一下代码?
回复

使用道具 举报

 楼主| 发表于 2018-2-11 09:32:08 | 显示全部楼层
bycy0801 发表于 2018-2-9 19:04
有点乱……写main函数和类本来就不是一件互相干扰的事情……上一下代码?

例如:举个例子建一个表示2维点的类:
point.hpp内容:
class point{int x;int y;其他函数声明};
point.cpp内容:
#include"point.hpp"
point类的函数的定义。
main.cpp内容:
#include"point.hpp"
int main(){point aobj;
return 0;}
然后我编译这个项目,qtcreator就提示我link时找不到main这个符号引用。
如果我在point.cpp文件里写上int main(){return 0;}
那这个项目就可以通过编译。
可是现在无不想在point.cpp里写main,我只想让它作为一个普通的类库来使用该怎么办呢?
回复

使用道具 举报

 楼主| 发表于 2018-2-11 09:59:14 | 显示全部楼层
不知道为什么我新建了一个新项目,再添加上面的类好像就可以编译了,
但原本项目里总是告诉我说类里少了main。
回复

使用道具 举报

 楼主| 发表于 2018-2-11 10:53:02 | 显示全部楼层
我大概找到原因了。
项目里有些注释是中文的使用utf8编码,好像这个原因导致main.cpp里的main函数变了还是怎么了。
后来我把项目改成gb18030编码重新复制粘贴回去,就好了。

点评

有个有意思的点是。。。hpp的意思好像本来就是指把cpp包含到.h文件里面 真的不考虑写成.h+.cpp的形式么。。。  详情 回复 发表于 2018-2-11 16:51
回复

使用道具 举报

发表于 2018-2-11 16:51:36 | 显示全部楼层
z416545752 发表于 2018-2-11 10:53
我大概找到原因了。
项目里有些注释是中文的使用utf8编码,好像这个原因导致main.cpp里的main函数变了还是 ...

有个有意思的点是。。。hpp的意思好像本来就是指把cpp包含到.h文件里面 真的不考虑写成.h+.cpp的形式么。。。
回复

使用道具 举报

 楼主| 发表于 2018-2-15 15:34:13 | 显示全部楼层
bycy0801 发表于 2018-2-11 16:51
有个有意思的点是。。。hpp的意思好像本来就是指把cpp包含到.h文件里面 真的不考虑写成.h+.cpp的形式么 ...

不会吧,我感觉hpp只是说c++的头文件区别于c的头文件而已吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

z416545752

    主题

    帖子

    5

    积分

    Qter1级会员

    Rank: 1

    积分
    5

Qter1级会员

发私信

Qt开源社区——开源 共享 自由

微信扫一扫
查看精品教程!