Makefile i GLS

0

Witam. Mam pytanie odnośnie pliku makefile do programu z biblioteką GLS. Uruchamiając program z terminala poleceniem g++ $(gsl-config --cflags) -o zad4 zad4.cpp $(gsl-config --libs) a następnie ./zad4 wszystko działa natomiast bardzo prosty makefile:

 CXX = g++
CPPFLAGS = 
PROGRAMS = zad4



all: $(PROGRAMS)
zad4: zad4.cpp
	$(CXX) -o zad4 $(CPPFLAGS) $(gsl-config --cflags) zad4.cpp $(gsl-config --libs)
run:
	./zad4
clean:
	rm -f $(PROGRAMS) *.o
	
.PHONY: all clean 

Wywala kilka undefined reference

Nie jestem dobrym programistą i prosiłbym o szybką pomoc. Z góry dzięki

0

Idealnie by było jakbyś dokładnie skopiował komunikat błędu, włącznie z komendą którą wywołujesz.
Jeśli tego nie robisz to albo ktoś od razu zauważy co masz źle, albo powtórzy u siebie to co robiłeś.
Biorąc pod uwagę że nie ma Twoich źródeł na to drugie marne szanse.

W tym konkretnym przypadku nie widzę zależności programu wykonywalnego (zad4) od obiektów skompilowanych (zad4.o).
Masz zależność tylko od zad4.cpp.
To może być przyczyna.

Zobacz tutaj na koniec: http://mrbook.org/blog/tutorials/make/
Ew. dłuższe wprowadzenie: https://www2.physics.ox.ac.uk/it-services/makefiles-for-beginners

0

komenda make i błąd:

 mateusz@mateusz-X550JK:~/Pulpit/aa/N4$ make
g++ -o zad4   zad4.cpp 
/tmp/ccfkI2eM.o: In function `main':
zad4.cpp:(.text+0x8c): undefined reference to `gsl_vector_view_array'
zad4.cpp:(.text+0x102): undefined reference to `gsl_vector_view_array'
zad4.cpp:(.text+0x180): undefined reference to `gsl_vector_view_array'
zad4.cpp:(.text+0x1fe): undefined reference to `gsl_vector_view_array'
zad4.cpp:(.text+0x208): undefined reference to `gsl_vector_alloc'
zad4.cpp:(.text+0x23d): undefined reference to `gsl_linalg_solve_tridiag'
zad4.cpp:(.text+0x277): undefined reference to `gsl_vector_fprintf'
zad4.cpp:(.text+0x286): undefined reference to `gsl_vector_free'
collect2: error: ld returned 1 exit status
makefile:9: polecenia dla obiektu 'zad4' nie powiodły się
make: *** [zad4] Błąd 1
0

Zajrzyj tutaj: https://ubuntuforums.org/showthread.php?t=270924
lekko inna wersja makefile'a. Może pomoże.

1 użytkowników online, w tym zalogowanych: 0, gości: 1