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