首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++ uniTest生成文件问题

c++ uniTest生成文件问题
EN

Stack Overflow用户
提问于 2016-10-25 23:01:39
回答 1查看 40关注 0票数 0

我在一个软件开发中工作,在一个模块中,它的目录结构如下:

src:是您将要放置您正在处理的源代码的目录

include:是放置“.h”文件的目录

lib :是安装这些库的位置

bin:是安装二进制文件的位置

idl :用于接口定义语言文件

object :是依赖文件的安装位置(当运行“make all”时)

test :是必须放入测试源代码的地方

现在我正在尝试进行测试,但是我对这个makefile有一些问题

我有一个测试/Dummy.cpp文件,它是一个虚拟服务器,可以监听特定的端口并回复特定的请求,还有一个实用程序类VendorServerSocket,它实现了基本的通信方法。但是我不确定如何在makefile中实现这个类(还没有声明),所以当它调用VendorServerScoket时会显示这个错误。

代码语言:javascript
复制
CVRDummy.cpp:39: error: ‘VendorServerSocket’ was not declared in this scope
make: *** [test] Error 1

我没有太多的软件开发经验,我正在学习,我想知道如何将这个类合并到我的makefile中,希望你能帮助我。

这是我正在使用的makefile:

代码语言:javascript
复制
MODULE_NAME = GenericEth



EXECUTABLES_L = Agilent_lanio $(MODULE_NAME)Dummy

$(MODULE_NAME)Dummy_OBJECTS = $(MODULE_NAME)Dummy
$(MODULE_NAME)Dummy_LIBS = $(MODULE_NAME)Eth

Agilent_lanio_OBJECTS = Agilent_lanio
Agilent_lanio_LDFLAGS = -lc

#
# list of all possible C-sources (used to create automatic  dependencies)
# ------------------------------
CSOURCENAMES = \
    $(foreach exe, $(EXECUTABLES) $(EXECUTABLES_L),   $($(exe)_OBJECTS)) \
    $(foreach rtos, $(RTAI_MODULES) , $($(rtos)_OBJECTS)) \
    $(foreach lib, $(LIBRARIES) $(LIBRARIES_L), $($(lib)_OBJECTS))


#>>>>> END OF standard rules

#
# INCLUDE STANDARDS
# -----------------

MAKEDIRTMP := $(shell searchFile include/acsMakefile)
ifneq ($(MAKEDIRTMP),\#error\#)
   MAKEDIR := $(MAKEDIRTMP)/include
   include $(MAKEDIR)/acsMakefile
endif

#
# TARGETS
# -------
all: do_all
    @echo " . . . 'all' done"

clean: clean_all
    $(RM) *~ tatlogs sed.scan tmp .TestList.sed .testSession .purify
    @echo " . . . clean done"

clean_dist: clean clean_dist_all
    @echo " . . . clean_dist done"

man: do_man
    @echo " . . . man page(s) done"

install: install_all
    @echo " . . . installation done"
EN

回答 1

Stack Overflow用户

发布于 2016-10-25 23:31:29

您必须在CVRDummy.cppCVRDummy.hpp之上包含包含VendorServerSocket的头文件。

如果在编译期间没有找到“#include "xxx.h"”,编译器会在xxx.h行上发出不同的错误。(假设xxx.h包含VendorServerSocket的声明。

如果正确地包含了该文件,则有可能在某个名称空间中声明了VendorServerSocket。您需要使用作用域解析操作符正确地访问它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40243376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档