2011-01-07 25 views
2

我想在ubuntu 9.10服务器上编译这个软件:http://snap.stanford.edu/snap/download.html对`clock_gettime'的未定义引用。添加LIBRTDEF = -lrt到Makefile不能修复它

我的Makefile:

# 
# 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 

我的错误:

[email protected]:~/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 

任何想法?

谢谢。

回答

6

您已在主Makefile中包含一段文件,而不是从执行编译的称为centrality的目录中的makefile中取出一段文件。

试试这个:

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

,如果这样的作品,在此生成的文件添加到LDFLAGS的核心/ Makefile文件

+0

是。就是这样。谢谢。我的错。 – permalac 2011-01-10 09:14:18

相关问题