0
我試着去創造,我可以在未來[R整合,而且還可以使用命令行上Make文件G ++共享庫
我的路徑第一步是創建一個庫,無論是某或庫。所以
這是我的make文件。它編譯罰款,但是當我看到的文件夾爲空(這意味着我不能用它在我的wilxtest.cpp
EXTERNALLIBS = -lnetcdf_c++ -lgsl -lgslcblas
WILXAPP = src/wilxtest.cpp
CXX = g++
CXXFLAGS = -Wall -ggdb
LIBOBJS: src/wilcoxonParallelTests.o
LIBRARY: lib/WilcoxonParallelTests.a
$(LIBRARY): $(LIBOBJS)
$(CXX) $(CXXFLAGS) ar cr $(LIBRARY) $(LIBOBJS) $(EXTERNALLIBS)
bin/Debug/WilxAstakTest: $(WILXAPP)
$(CXX) $(CXXFLAGS) -o [email protected] $^ $(EXTERNALLIBS)
Debug: $(LIBRARY) bin/Debug/WilxAstakTest
MkDirs:
mkdir -p obj
mkdir -p lib
mkdir -p bin/Debug
cleanDebug:
rm -rf obj/*
rm -rf lib/*
rm -rf bin/Debug/*
編輯:
我有「:」而不是「=」 。LIBOBJS和庫後我也沒有必須的目標,以創建目標文件下面是更新的版本:
EXTERNALLIBS = -lnetcdf_c++ -lgsl -lgslcblas
WILXAPP = src/wilxtest.cpp
CXX = g++
CXXFLAGS = -Wall -ggdb
LIBCPP = src/wilcoxonParallelTests.cpp
LIBOBJS = obj/wilcoxonParallelTests.o
LIBRARY = lib/WilcoxonParallelTests.a
$(LIBOBJS): $(LIBCPP)
$(CXX) $(CXXFLAGS) -c $(LIBCPP) -o $(LIBOBJS)
$(LIBRARY): $(LIBOBJS)
ar -cr $(LIBRARY) $(LIBOBJS)
bin/Debug/WilxAstakTest: $(WILXAPP) $(LIBRARY)
$(CXX) $(CXXFLAGS) -o [email protected] $^ $(EXTERNALLIBS)
Debug: $(LIBRARY) bin/Debug/WilxAstakTest
MkDirs:
mkdir -p obj
mkdir -p lib
mkdir -p bin/Debug
cleanDebug:
rm -rf obj/*
rm -rf lib/*
rm -rf bin/Debug/*
嘿。我做了你的改變和其他一些改變,並且我創建了obj和.a文件。但是,現在wilxtest找不到wilcoxonParallelTests.h。我編輯了上面的描述,爲您提供更多關於我所擁有的信息。另外,你提到了如何改進Makefile? – user1047833
'wilcoxonParallelTests.h'在哪裏?如果它在'headers /'中,那麼你應該添加'-Iheaders'到有問題的命令。另外,如果你不用'wilcoxonParallelTests'來解決這個問題,那就表明其他地方有些東西是可疑的(但有幾件事情可能會發生)。 – Beta
嘿謝謝! Isrc做到了。即時通訊源和頭文件在同一個文件夾中。有關如何提高頭文件整體質量的任何提示? – user1047833