下面文件有KenoComm.h ,KenoComm.c  ,b.c三个文件,还有Makefile文件.

类CKenoComm定义在KenoComm.c中,b.c调用了类CKenoComm.

我在linux下编译时,问题是

[root@localhost 7.12]# make

cc    -c -o b.o b.c

In file included from b.c:5:

KenoComm.h:14: parse error before "CKenoComm"

KenoComm.h:15: syntax error before '{' token

KenoComm.h:19: warning: data definition has no type or storage class

KenoComm.h:20: parse error before '~' token

b.c: In function `main':

b.c:9: parse error before "a"

b.c:10: `a' undeclared (first use in this function)

b.c:10: (Each undeclared identifier is reported only once

b.c:10: for each function it appears in.)

make: *** [b.o] Error 1

那位大侠能帮我解决一下吗,先谢谢了.

我的新建类的头文件是KenoComm.h

// KenoComm.h: interface for the CKenoComm class.

//

//

#if !defined(AFX_KENOCOMM_H__3781E982_B927_4046_B209_1D8827A17071__INCLUDED_)

#define AFX_KENOCOMM_H__3781E982_B927_4046_B209_1D8827A17071__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#include

class CKenoComm

{

public:

void DelPipe();

int ReadPipe();

CKenoComm();

virtual ~CKenoComm();

};

#endif // !defined(AFX_KENOCOMM_H__3781E982_B927_4046_B209_1D8827A17071__INCLUDED_)

我的新建类的.cpp文件为KenoComm.c

// KenoComm.c: implementation of the CKenoComm class.

//

//

//#include "stdafx.h"

#include "KenoComm.h"

//

// Construction/Destruction

//

CKenoComm::CKenoComm()

{

}

CKenoComm::~CKenoComm()

{

}

int CKenoComm::ReadPipe()

{

printf("ReadPipen");

return 1;

}

void CKenoComm::DelPipe()

{

printf("DelPipen");

}

我的主文件为 b.c

#include "KenoComm.h"

#include

int main(int argc, char* argv[])

{

CKenoComm a;

a.DelPipe();

a.ReadPipe();

printf("Hello World!n");

return 0;

}

我的Makefile文件为

RM      = rm -f

CXX     = g++

#CXXFLAGS        = +DA2.0W -s

CXXFLAGS         = +O3

Pipe:  PipeComm

OBJS_PipeComm   = b.o KenoComm.o

PipeComm : $(OBJS_PipeComm)

$(RM)$@

$(CXX) -o $@ $(CXXLDFLAGS) $(OBJS_PipeComm)

clean:

$(RM) core PipeComm* *.o

~

~

|

RM      = rm -f

CXX     = g++

#CXXFLAGS        = +DA2.0W -s

CXXFLAGS         = +O3

Pipe:  PipeComm

OBJS_PipeComm   = b.c KenoComm.c

PipeComm : $(OBJS_PipeComm)

$(RM) $@

$(CXX) -o $@ $(CXXLDFLAGS) $(OBJS_PipeComm)

clean:

$(RM) core PipeComm* *.o

|

你是c++程序,文件用.cpp。你用.c,编译器认为是c程序,c程序里没有class。

|

文件名改为.C或.cpp后缀,或者改makefile用-x c++编译选项指定用从c++编译器来编译.c文件

|

你用什么编辑的程序?看看是DOS格式的还是UNIX合适的?

字符好象不对。

|

我遇到过这样的问题,不过忘记怎么解决的了!不好意思,嘿嘿!

好象如楼上所说的,字符格式不对.重新输入一次试试.

|

程序没问题,makefile写错了

|

难道是要把.c改为.cpp?

linux c创建文件错误的是,在linux下创建一个类怎么出现会出现这种错误,我感觉是没有错误的,那位高手过来看看...相关推荐

  1. shell脚本及举例:依次创建10个目录在相应目录下创建10个文件,在相应文件下添加内容

    shell脚本 如果我们的命令或者应用程序不在命令行直接执行,而是通过一个程序文件来执行时,这个程序就被称之为shell脚本.Shell脚本里面通常内置了多条命令,有的还包含控制语句,比如if和els ...

  2. linux 文件和打印机共享文件夹,能实现Windows和Linux系统之间文件和打印机共享的Linux服务是( )...

    能实现Windows和Linux系统之间文件和打印机共享的Linux服务是( ) 答:SAMBA HTML 代 码 表示() 答:创建一个单选框 根据凯恩思的理论,在短期中总供给线为一条水平线,当总需 ...

  3. python怎么创建文件夹视频_怎么用python创建文件夹

    Python中创建文件夹的方法:import os def mkdir(path): folder = os.path.exists(path) if not folder:              ...

  4. linux怎么授权目录,详解Linux如何将一个文件夹的所有内容授权给某一个用户?...

    详解Linux如何将一个文件夹的所有内容授权给某一个用户? 发布时间:2020-09-14 15:23:51 来源:脚本之家 阅读:138 作者:冰阔落 栏目:服务器 [问题分析] 我们可以使用cho ...

  5. linux系统指令学习(创建目录,在目录下创建一个*.txt,*.txt输入内容,把*.txt文件拷贝到*目录下,把*文件夹目录移动到*目录下)

    linux系统指令学习1 透过12道题熟练掌握20个指令 Linux有150个常用指令,透过12道题去学习以及练习指令 1.创建一个目录/dzqc 提示: windows下的路径样式为c: \dzqc ...

  6. Linux创建文件的五种方法,Linux常用命令 - 五种创建文件命令详解

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! 创建文件,你知道有哪几个命令 ?(写出至少两种方式) 首先,touch 创建一个文件 touch yyTest. ...

  7. Linux创建文件的五种方法,Linux创建文件的5种方式

    1 touch 1.1 创建一个文件 touch yyTest.ini 1.2 同时创建两个文件 touch test1.txt test2.txt 1.3 批量创建文件(如创建2000个文件) to ...

  8. 在linux中 更改文件权限的命令是,linux 更改文件权限命令 chmod

    chmod -change file mode bits :更改文件权限 chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限. 更改文件权限的2种方式: 一 ...

  9. linux运行脚本文件python,Python脚本:Linux自动化执行Python脚本

    1.环境及其工具: ubuntu 16.04 python2.7(自带) pip2.7(安装) virtualenv(安装) crontab (自带) 2.pip2.7安装 (1)尝试使用 sudo ...

  10. linux文件未识别,linux的内核文件vmlinuz介绍-深入理解Linux重定向的使用-网卡eth0,未识别的端口的解决方法_169IT.COM...

    介绍:Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作. Linu ...

最新文章

  1. LeetCode简单题之找出两数组的不同
  2. 最新批量***dedecms|dedecms最新0day
  3. linux系统启动盘怎么制作工具,windows系统制作linux启动盘工具介绍
  4. JVM真香系列:.java文件到.class文件
  5. 分析cocos2d-x中的CrystalCraze示例游戏
  6. python rpa_(RPA学习)Python 之 Pathlib 模块
  7. 小哥哥你有98K吗?利用Python制作一款多功能变声器!
  8. 医用计算机基础学习心得,计算机基础学习心得.doc
  9. 清华大学 ucore-lab0 MacOS
  10. Kaldi AMI数据集脚本学习7---train_deltas.sh
  11. 成功恢复UNIX误删除数据库文件(NODE已被清除)
  12. linux菜鸟要飞-根目录
  13. 学生表,选课表,课程表
  14. 单片机---HLK-W801图形框架LVGL下开发(四)
  15. 车载电子电器防水防尘等级介绍
  16. SREng 使用指南(五)扩展的解说
  17. SMTP的几个端口的比较
  18. baidu 快递查询API
  19. php 499,服务频繁499(Nginx+PHP-fpm),应该从哪些角度入手追查这问题?
  20. 爆红十年后,谁“切”了苹果?

热门文章

  1. bzoj2751 [HAOI2012]容易题(easy)
  2. 成功者都在用的“成功咒语”
  3. 易学源码html,HTML
  4. 动态规划入门——第N个泰波那契数(Leetcode 1137)
  5. python 把多个list合并为一个并去重内容_110道Python面试题(上)
  6. 如何更换ppt模板内容不变_如何制作一个优秀的PPT?附18000+套精品PPT模板
  7. 计算型存储:异构计算的下一个关键应用
  8. 不用Oracle?基于MySQL数据库下亿级数据的分库分表
  9. 实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错
  10. 华山论“件”:Kafka、RabbitMQ、RocketMQ技能大比拼