对“clock_gettime';的未定义引用。将LIBRTDEF=-lrt添加到Makefile并不能修复它

对“clock_gettime';的未定义引用。将LIBRTDEF=-lrt添加到Makefile并不能修复它,makefile,g++,Makefile,G++,我想编译这个软件: 在ubuntu 9.10服务器上 我的生成文件: # # Makefile for non-Microsoft compilers # ## Linux (uncomment the 2 lines below for compilation on Linux) CXXFLAGS += -std=c++98 -Wall LDFLAGS += -lrt LIBRTDEF=-lrt ## CygWin (uncomment the 2 lines below for comp

我想编译这个软件: 在ubuntu 9.10服务器上

我的生成文件:

#
# Makefile for non-Microsoft compilers
#

## Linux  (uncomment the 2 lines below for compilation on Linux)
CXXFLAGS += -std=c++98 -Wall
LDFLAGS += -lrt
LIBRTDEF=-lrt
## CygWin (uncomment the 2 lines below for compilation on CygWin)
#CXXFLAGS += -Wall
#LDFLAGS += 

all: MakeAll

opt: CXXFLAGS += -O4
opt: LDFLAGS += -O4
opt: MakeAll

MakeAll:
#   $(MAKE) -C cascades
    $(MAKE) -C centrality
    $(MAKE) -C community
    $(MAKE) -C concomp
    $(MAKE) -C forestfire
    $(MAKE) -C krongen
    $(MAKE) -C kronfit
    $(MAKE) -C mkdatasets
    $(MAKE) -C motifs
    $(MAKE) -C ncpplot
    $(MAKE) -C netevol
    $(MAKE) -C netstat
    $(MAKE) -C testgraph

clean:
#   $(MAKE) clean -C cascades
    $(MAKE) clean -C centrality
    $(MAKE) clean -C community
    $(MAKE) clean -C concomp
    $(MAKE) clean -C forestfire
    $(MAKE) clean -C krongen
    $(MAKE) clean -C kronfit
    $(MAKE) clean -C mkdatasets
    $(MAKE) clean -C motifs
    $(MAKE) clean -C ncpplot
    $(MAKE) clean -C netevol
    $(MAKE) clean -C netstat
    $(MAKE) clean -C testgraph
我的错误:

marc.riera@NODE01:~/snap/examples$ make
make -C centrality
make[1]: Entering directory `/hpcdrive/homes/marc.riera/snap/examples/centrality'
g++  -o centrality centrality.cpp Snap.o -I../../glib -I../../snap
Snap.o: In function `TSysTm::GetMSecsFromOsStart()':
Snap.cpp:(.text+0x4b908): undefined reference to `clock_gettime'
Snap.o: In function `TSysTm::GetProcessMSecs()':
Snap.cpp:(.text+0x4b98e): undefined reference to `clock_gettime'
Snap.o: In function `TSysTm::GetThreadMSecs()':
Snap.cpp:(.text+0x4ba16): undefined reference to `clock_gettime'
Snap.o: In function `TSysTm::GetPerfTimerTicks()':
Snap.cpp:(.text+0x4baa9): undefined reference to `clock_gettime'
Snap.o: In function `TSysProc::Sleep(unsigned int const&)':
Snap.cpp:(.text+0x4bb63): undefined reference to `clock_nanosleep'
collect2: ld returned 1 exit status
make[1]: *** [centrality] Error 1
make[1]: Leaving directory `/hpcdrive/homes/marc.riera/snap/examples/centrality'
make: *** [MakeAll] Error 2
有什么想法吗


谢谢。

您已经在名为centrality的目录中包含了一个来自主Makefile而非Makefile的片段,该目录用于编译

试试这个:

cd centrality
g++  -o centrality centrality.cpp Snap.o -I../../glib -I../../snap -lrt

如果可以的话,将这个makefile中的LDFLAGS添加到centrality/makefile

Yes。就是这样。谢谢是我的错。