Ich bin in einer Software-Entwicklung arbeiten, in einem Modul, das eine Verzeichnisstruktur wie folgt hat:C++ Unitest Makefile Probleme
src: das Verzeichnis, in dem Sie die Quellen ablegen werden Sie arbeiten an
umfassen: das Verzeichnis, in dem Sie
lib die „.h“ Dateien ablegen werden: wird, wo die Bibliotheken
bin installiert werden: ist, wo die Binärdateien
installiert werdenidl: ist für die Interface Definition Language-Dateien
Objekt: ist, wo die Dateien Abhängigkeiten erhalten installiert
Test (wenn „macht all“ läuft): ist, wo der Test Quellcode setzt
werden mussJetzt versuche ich, Test zu machen, aber ich habe einige Probleme mit diesem Makefile
Ich habe eine test/Dummy.cpp Datei, die ein Dummy-Server ist, der auf einem bestimmten Port zuhören und eine bestimmte Anfragen beantworten kann, Es gibt eine Dienstprogrammklasse VendorServerSocket, die das grundlegende co implementiert Kommunikationsmethoden. Aber ich bin mir nicht sicher, wie diese Klasse im Makefile implementieren (nicht deklariert), , also wenn es den VendorServerScoket aufrufen, diesen Fehler anzeigen.
CVRDummy.cpp:39: error: ‘VendorServerSocket’ was not declared in this scope
make: *** [test] Error 1
ich nicht viel Erfahrung in der Softwareentwicklung haben bin ich nur zu lernen, werde ich wie wissen, wie ich diese Klasse in meinem Make-Datei aufnehmen kann, hoffen, dass Sie mir helfen können.
Dies ist die Make-Datei, die ich verwende:
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"