Visit Our UNIX and Linux User Community

Makefile missing include path Although the path exists and defined

Thread Tools Search this Thread
Top Forums Programming Makefile missing include path Although the path exists and defined
# 1  
Old 12-26-2019
Makefile missing include path Although the path exists and defined

i have make file which i try to make them generic
but it keeps to compline it missing include directory
this is the makefile :

    CPPFAGS= -Wall -O0 -g -std=c++14
    INCLUDES = -I/home/vagrant/libuv/include -Isrc
    LIBS_DIRS = -L/home/vagrant/libuv/build
    LDFLAGS= -lssl -lcrypto
    LIB_STATIC = -Wl,--no-as-needed -Bstatic -luv_a -ldl -lpthread
    SOURCE = $(wildcard echo.cpp) \
             $(wildcard src/*.cpp)
    OBJ = $(SOURCE:.cpp=.o)
    DEP = $(OBJ:.o=.d)
    TARGET = myproj
    $(TARGET) : $(OBJ)
            $(CXX) $(CPPFLAGS) $(INCLUDES) -o $@ $^ $(LIBS_DIRS) $(LDFLAGS) $(LIB_STATIC)
    all: $(TARGET)
            rm -f $(OBJ) $(TARGET)
            rm -f $(DEP)
    .PHONY:all clean cleandep

when i make : make -n :


       make -n
    g++    -c -o echo.o echo.cpp
    g++    -c -o src/base64.o src/base64.cpp
    g++    -c -o src/Server.o src/Server.cpp
    g++    -c -o src/sha1.o src/sha1.cpp
    g++    -c -o src/Client.o src/Client.cpp
    g++  -I/home/vagrant/libuv/include -Isrc -o myproj echo.o src/base64.o src/Server.o src/sha1.o src/Client.o -L/home/vagrant/libuv/build -lssl -lcrypto  -Wl,--no-as-needed -Bstatic -luv_a -ldl -lpthread

when i invoke make , im getting this error:

    g++    -c -o echo.o echo.cpp
    In file included from src/Server.h:9:0,
                     from echo.cpp:1:
    src/Client.h:6:10: fatal error: uv.h: No such file or directory
     #include <uv.h>
    compilation terminated.
    make: *** [echo.o] Error 1

but the uv do exist in : /home/vagrant/libuv/include

Last edited by Neo; 12-26-2019 at 08:55 AM.. Reason: Code Tags Please See YT Video on this:
# 2  
Old 12-26-2019
Please list the directory as follow;

ls -l /home/vagrant/libuv/include

and post back the results (in code tags). See link in prior post if you forgot how to use code tags.
# 3  
Old 12-26-2019
strange path /home/vagrant/libuv/include
vagrant is your username?
# 4  
Old 12-26-2019
ls -l /home/vagrant/libuv/include
total 64
drwxrwxr-x. 2 vagrant vagrant   251 Dec 23 07:23 uv
-rw-rw-r--. 1 vagrant vagrant 64006 Dec 23 07:23 uv.h

# 5  
Old 12-26-2019
What happens if you change:

g++    -c -o echo.o echo.cpp

to this:

g++  -I/home/vagrant/libuv/include  -c -o echo.o echo.cpp

This User Gave Thanks to Neo For This Post:
# 6  
Old 12-26-2019
g++ -c -o echo.o echo.cpp
g++ -c -o src/Server.o src/Server.cpp
You collect object files without connecting the path to the header
You need to explicitly write -I/home/vagrant/libuv/include for a compilation of these objects
thanks @Neo
I deal with the task for a long time and did not reload the page

Last edited by nezabudka; 12-26-2019 at 11:48 AM..
# 7  
Old 12-26-2019
add the following lines
%.o: %.c 
        $(CXX) $(INCLUDES) -c $^ -o $@

Previous Thread | Next Thread
Test Your Knowledge in Computers #68
Difficulty: Easy
Awk is abbreviated from the names of the developers - Aho, Weinberger, and Kernighan.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to figure out a if insensitive file path exists or not?

I use the below command with echo $? to determine if a file path exists. ls /app/weblogic/myserver4/logs/`hostname`/data/ Output: /app/weblogic/myserver4/logs/myhostseven/data/ The problem is that I have both AIX and Linux systems. On some servers hostname is either... (6 Replies)
Discussion started by: mohtashims
6 Replies

2. AIX

Path missing???

Hi, I not familiar with MPIO pathing those stuffs! Can any one please tell me ONE FC card can hold how many paths? I have a stand alone server, where TWO fc card has been configured, In one card i am getting ie., fsci0 im getting 4paths Another card i am getting ie., fsci2 im gettin... (4 Replies)
Discussion started by: Thala
4 Replies

3. Shell Programming and Scripting

Copy down remote files and rename them to include the server name with full path

I need to pull down a good bit of files for another support team for an upgrade project. I have a server.list with all of the server names. I need to do two parts: FIRST: I have this example, but it does not list the server name in front of each line. #! /bin/bash for server in $(<... (10 Replies)
Discussion started by: asnatlas
10 Replies

4. UNIX for Dummies Questions & Answers

profile PATH include subdirectories

I would like to modify my .profile PATH to include all subdirectories of the directory I specify. For example, right now I have PATH=$HOME/tier1 Tier1 has a tier2 directory in it. Right now I can execute files from tier1, but not tier2. I know I can add another path with $HOME/tier1/tier2,... (1 Reply)
Discussion started by: Smed
1 Replies

5. Shell Programming and Scripting

make file (include files path)

Hi All, In make file i want to include header files from my local directory and if it did not find in local directory i want to include from network directory. can any help me how i can do this?. here is the code INCLUDE=${include}/ this is point to network dir how i can add option that it... (1 Reply)
Discussion started by: goraya430
1 Replies

6. Programming

C - How to sheck if a path exists?

How do i check if a path exists in C? (5 Replies)
Discussion started by: omega666
5 Replies

7. Linux

libtool compile mode,how to set include path?

Hi all I want to compile a source gt_util.c into a lo file, I use libtool gcc -g -O -c gt_util.c -I./include but it prompts me : cannot determin name of library object from 'include' how should I use the tool to compile a source to .lo file? Thanks. (0 Replies)
Discussion started by: steven_TTG
0 Replies

8. Shell Programming and Scripting

Makefile cant create new install path

..... (2 Replies)
Discussion started by: mercury
2 Replies

9. Shell Programming and Scripting

How to check if all directories of file's path exists?

I wonder if the script below is possible to write somehow more efficiently. It seems to me the problem is very common.. CreateFolders() # parameter: name of file with relative path with regard to directory $project_root { echo $1 | awk '{ n=split($1, array, "/"); ... (2 Replies)
Discussion started by: MartyIX
2 Replies

10. Solaris

Path /usr/include/iso not found

Hello, I got a make compilation error saying make: *** No rule to make target `/usr/include/iso/stdio_iso.h', needed by `.test.d'. Stop. The mentioned folder `/usr/include/iso/' doesnt exist in solaris5.7 sparc that i am using. I need to know which package will actually install the... (1 Reply)
Discussion started by: Nads
1 Replies

Featured Tech Videos