我目前正在研究一种C++,我在Mac上本地编辑但在Ubuntu服务器上运行.我总是确保代码在我的mac上编译,然后将其上传到服务器进行编译,在那里我必须使用makefile链接安装在我本地目录中的库.基本上,我编辑了我的代码的很大一部分,发现它在我的mac上编译,并将其上传到服务器进行编译,但它没有编译!幸运的是,我有一个代码的备份版本,所以我在服务器上尝试了,这也不会编译!在我最后一次知道我的代码在服务器上编译和现在之间,我知道他们运行了一些更新,但这就是我能想到的那些不同.作为参考,这是我的make文件:
LOCAL_INCLUDE = /home/schraiber/.local/include
LOCAL_LIB = /home/schraiber/.local/lib
CXXFLAGS = -I$(LOCAL_INCLUDE)
CXX_LDFLAGS = -L$(LOCAL_LIB) -lgsl -lm -lgslcblas -lpthread
CoalHMMgf: main.o IOUtilities.o parameters.o Algorithms.o Optimization.o probabilities.o RNGUtilities.o Data.o ThreadData.h
g++ $(CXXFLAGS) $(CXX_LDFLAGS) main.o IOUtilities.o parameters.o Algorithms.o Optimization.o probabilities.o RNGUtilities.o Data.o -o CoalHMMgf
main.o: main.cpp IOUtilities.h parameters.h Algorithms.h Optimization.h probabilities.h ThreadData.h Data.h
g++ $(CXXFLAGS) $(CXX_LDFLAGS) -c main.cpp
IOutilities.o: IOUtilities.h IOUtilities.cpp parameters.h data.h
g++ $(CXXFLAGS) $(CXX_LDFLAGS) -c IOUtilities.cpp
parameters.o: parameters.h parameters.cpp
g++ $(CXXFLAGS) $(CXX_LDFLAGS) -c parameters.cpp
Algorithms.o: Algorithms.h Algorithms.cpp
g++ $(CXXFLAGS) $(CXX_LDFLAGS) -c Algorithms.cpp …Run Code Online (Sandbox Code Playgroud)