Im пытается создать библиотеку, в которой я мог бы интегрировать с R в будущем, но и использовать в командной строкеMake-файл г ++ разделяемые библиотеки
Мой первый шаг на пути создает библиотеку, либо .a или. так
Это мой файл 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 сделал это. im с исходными и заголовочными файлами в одной папке. Любые советы о том, как улучшить общее качество файла заголовка? – user1047833