omn​​et ++的头文件错误

时间:2015-04-27 21:10:31

标签: c++ omnet++

BaseLayer.h 中包含 ContactCtrlInfo.h 头文件之后,我很难在omnet ++模拟器下编译我的代码(我使用的是mixim& veins框架)

这是输出:

fatal error: ContactCtrlInfo.h: No such file or directory

这是我目前的项目结构:

src
|_base
| |
| |_folder1
| |_folder2
| |_modules
| | |_BaseLayer.h
| | |_BaseLayer.cc
* *
| |_folderN
|
|_modules
| |_folder1
| |_folder2
| |_utility
| | |_contacts
| |   |_ContactCtrlInfo.h
| |   |_ContactCtrlInfo.cc
* *
| |_folderN

这是我目前的makefile:

#
# Usage:
#    make -f makemakefiles
# or, for Microsoft Visual C++:
#    nmake -f makemakefiles MMOPT=-n
#

MAKEMAKE=opp_makemake $(MMOPT)

all:
    cd tests/power && $(MAKEMAKE) -f --nolink -O out -d deviceTestAll -d utils -d deviceTest -d deviceTestMulti -d Nic80211Test -d deviceTestAccts -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules
    cd examples/Mac80211 && $(MAKEMAKE) -f -o Mac80211 -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd examples/ieee80211p && $(MAKEMAKE) -f -o ieee80211p -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd examples/multiConnectionManager && $(MAKEMAKE) -f -o multiConnectionManager -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests/power/deviceTestAll && $(MAKEMAKE) -f -o deviceTestAll -O out -u CMDENV -L../../../out/$(CONFIGNAME)/tests/power/utils -L../../../out/$(CONFIGNAME)/tests/testUtils -L../../../out/$(CONFIGNAME)/src/base -L../../../out/$(CONFIGNAME)/src/modules -lpowerTestUtils -lmiximbase -lmiximmodules
    cd tests/channelInfo && $(MAKEMAKE) -f -o channelInfo -O out -u CMDENV -I../../src/base/connectionManager -I../../src/base/messages -I../testUtils -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd examples/CSMAMac && $(MAKEMAKE) -f -o CSMAMac -O out -I../../src/base/connectionManager -I../../src/base/messages -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests/decider && $(MAKEMAKE) -f -o decider -O out -u CMDENV -I../testUtils -I../../src/base/messages -I../../src/modules/phy -I../../src/modules/utility -I../../src/modules -I../../src/modules/obstacle -I../../src/base/connectionManager -I../../src/modules/analogueModel -I../../src/modules/messages -I../../src/base/phyLayer -I../../src/base/modules -I../../src/modules/application/traci -I../../src/modules/mac/ieee80211p -I../../src/modules/application/ieee80211p -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd tests/blackboard && $(MAKEMAKE) -f -o blackboard -O out -u CMDENV -I../../src/base/connectionManager -I../../src/base/messages -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd tests/coord && $(MAKEMAKE) -f -o coord -O out -u CMDENV -I../testUtils -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd examples/bmac && $(MAKEMAKE) -f -o bmac -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests/basePhyLayer && $(MAKEMAKE) -f -o basePhyLayer -O out -u CMDENV -I../../src/base/connectionManager -I../../src/base/messages -I../testUtils -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd tests/power/utils && $(MAKEMAKE) -f --make-so -o powerTestUtils -O out -I../../../src/base/connectionManager -I../../../src/modules/power/battery -I../../../src/base/messages -I../../../src/base/phyLayer -I../../../src/base/modules -I../../../src/base/utils -L../../../out/$(CONFIGNAME)/tests/testUtils -L../../../out/$(CONFIGNAME)/src/base -L../../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests/radioState && $(MAKEMAKE) -f -o radioState -O out -u CMDENV -I../../src/base/connectionManager -I../../src/base/messages -I../testUtils -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd tests/connectionManager && $(MAKEMAKE) -f -o connectionManager -O out -u CMDENV -I../../src/base/connectionManager -I../../src/base/messages -I../testUtils -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd examples/obstacles && $(MAKEMAKE) -f -o obstacles -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests/power/deviceTest && $(MAKEMAKE) -f -o deviceTest -O out -u CMDENV -L../../../out/$(CONFIGNAME)/tests/power/utils -L../../../out/$(CONFIGNAME)/tests/testUtils -L../../../out/$(CONFIGNAME)/src/base -L../../../out/$(CONFIGNAME)/src/modules -lpowerTestUtils -lmiximbase -lmiximmodules
    cd examples/lmac && $(MAKEMAKE) -f -o lmac -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd examples/BaseMoBANNetwork && $(MAKEMAKE) -f -o BaseMoBANNetwork -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules
    cd examples/veins && $(MAKEMAKE) -f -o veins -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests/power/deviceTestMulti && $(MAKEMAKE) -f -o deviceTestMulti -O out -L../../../out/$(CONFIGNAME)/tests/power/utils -L../../../out/$(CONFIGNAME)/tests/testUtils -L../../../out/$(CONFIGNAME)/src/base -L../../../out/$(CONFIGNAME)/src/modules -lpowerTestUtils -lmiximbase -lmiximmodules
    cd examples/ieee802154a && $(MAKEMAKE) -f -o ieee802154a -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests/testUtils && $(MAKEMAKE) -f --make-so -o miximtestUtils -O out -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules
    cd examples/traci_launchd && $(MAKEMAKE) -f -o traci_launchd -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests/power/Nic80211Test && $(MAKEMAKE) -f -o Nic80211Test -O out -L../../../out/$(CONFIGNAME)/tests/power/utils -L../../../out/$(CONFIGNAME)/tests/testUtils -L../../../out/$(CONFIGNAME)/src/base -L../../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd examples/baseNetwork && $(MAKEMAKE) -f -o baseNetwork -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    $(MAKEMAKE) -f --nolink -O out -d src/base -d src/modules -d examples -d tests -L./out/$(CONFIGNAME)/tests/power/utils -L./out/$(CONFIGNAME)/tests/testUtils -L./out/$(CONFIGNAME)/src/base -L./out/$(CONFIGNAME)/src/modules
    cd examples/WSNRouting && $(MAKEMAKE) -f -o WSNRouting -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd examples/ieee802154Narrow && $(MAKEMAKE) -f -o ieee802154Narrow -O out -I../../src/base/messages -I../../src/modules/utility -I../../src/modules/phy -I../../src/modules -I../../src/modules/obstacle -I../../src/base/connectionManager -I../../src/modules/messages -I../../src/modules/analogueModel -I../../src/base/phyLayer -I../../src/base/modules -I../../src/modules/application/traci -I../../src/modules/mac/ieee80211p -I../../src/modules/application/ieee80211p -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd src/base && $(MAKEMAKE) -f --deep --make-so -o miximbase -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/modules
    cd src/modules && $(MAKEMAKE) -f --deep --make-so -o miximmodules -O out -I../base/connectionManager -I../base/messages -I../base/phyLayer -I../base/modules -I../base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -lmiximbase
    cd examples && $(MAKEMAKE) -f --nolink -O out -d Mac80211 -d ieee80211p -d multiConnectionManager -d CSMAMac -d bmac -d obstacles -d lmac -d BaseMoBANNetwork -d veins -d ieee802154a -d traci_launchd -d baseNetwork -d WSNRouting -d ieee802154Narrow -d twoRayInterference -d analogueModels -L../out/$(CONFIGNAME)/tests/power/utils -L../out/$(CONFIGNAME)/tests/testUtils -L../out/$(CONFIGNAME)/src/base -L../out/$(CONFIGNAME)/src/modules
    cd tests/traci && $(MAKEMAKE) -f -o traci -O out -u CMDENV -I../../src/base/connectionManager -I../../src/base/messages -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -I../../src/modules -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd examples/twoRayInterference && $(MAKEMAKE) -f -o twoRayInterference -O out -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules
    cd tests && $(MAKEMAKE) -f --nolink -O out -d power -d channelInfo -d decider -d blackboard -d coord -d basePhyLayer -d radioState -d connectionManager -d testUtils -d traci -d baseMobility -d nicTest -d mapping -L../out/$(CONFIGNAME)/tests/power/utils -L../out/$(CONFIGNAME)/tests/testUtils -L../out/$(CONFIGNAME)/src/base -L../out/$(CONFIGNAME)/src/modules
    cd tests/baseMobility && $(MAKEMAKE) -f -o baseMobility -O out -u CMDENV -I../../src/base/connectionManager -I../../src/base/messages -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd tests/nicTest && $(MAKEMAKE) -f -o nicTest -O out -u CMDENV -I../../src/base/messages -I../../src/modules/phy -I../../src/modules/utility -I../../src/modules -I../../src/modules/obstacle -I../../src/modules/analogueModel -I../../src/modules/messages -I../../src/base/connectionManager -I../../src/modules/mac -I../../src/base/phyLayer -I../../src/base/modules -I../../src/modules/application/traci -I../../src/modules/mac/ieee80211p -I../../src/modules/application/ieee80211p -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd tests/mapping && $(MAKEMAKE) -f -o mapping -O out -u CMDENV -I../../src/base/connectionManager -I../../src/base/messages -I../../src/base/phyLayer -I../../src/base/modules -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules -lmiximtestUtils
    cd tests/power/deviceTestAccts && $(MAKEMAKE) -f -o deviceTestAccts -O out -u CMDENV -L../../../out/$(CONFIGNAME)/tests/power/utils -L../../../out/$(CONFIGNAME)/tests/testUtils -L../../../out/$(CONFIGNAME)/src/base -L../../../out/$(CONFIGNAME)/src/modules -lpowerTestUtils -lmiximbase -lmiximmodules
    cd examples/analogueModels && $(MAKEMAKE) -f -o analogueModels -O out -I../../src/base/messages -I../../src/modules/phy -I../../src/modules/utility -I../../src/modules -I../../src/modules/obstacle -I../../src/base/connectionManager -I../../src/modules/analogueModel -I../../src/modules/messages -I../../src/base/phyLayer -I../../src/base/modules -I../../src/modules/mac/ieee80211p -I../../src/modules/application/traci -I../../src/modules/application/ieee80211p -I../../src/base/utils -L../../out/$(CONFIGNAME)/tests/power/utils -L../../out/$(CONFIGNAME)/tests/testUtils -L../../out/$(CONFIGNAME)/src/base -L../../out/$(CONFIGNAME)/src/modules -lmiximbase -lmiximmodules

有人可以解释我为什么会收到此错误吗?如果我尝试在base子文件夹下移动 ContactCtrlInfo 类,它可以工作,但我不想这样做。

谢谢,

2 个答案:

答案 0 :(得分:2)

Veins 3仍然使用MiXiM构建系统,该系统首先构建一个" base"库,然后建立一个"模块"库(两个库都动态链接以运行模拟)。 "基地"库只是依赖于存储在" base"中的组件。文件夹,所以在编译" base"库没有来自"模块的文件"包含文件夹。这就是您收到错误的原因。

另请注意,Veins 4将使用不同的构建系统:此处,所有头文件都可从任何地方获得,但必须始终指定其完整路径(例如,#include "veins/modules/mobility/traci/TraCIColor.h"

答案 1 :(得分:1)

似乎编译器找不到头文件。

每当您需要包含不在您运行编译器的文件夹中的头文件时,您需要使用-I选项包含要搜索的文件夹的另一个路径。

例如,如果您的文件为main.cpp,并且您要搜索标题的文件夹为include,则只需添加:

-Iinclude

到命令行。