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 :

Code:
 CXX=g++
    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)
    
    clean:
            rm -f $(OBJ) $(TARGET)
    cleandep:
            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:

     make
    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 07:55 AM.. Reason: Code Tags Please See YT Video on this: https://youtu.be/4BuPvWJV__k
# 2  
Old 12-26-2019
Please list the directory as follow;

Code:
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
Hi
strange path /home/vagrant/libuv/include
vagrant is your username?
# 4  
Old 12-26-2019
Code:
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:

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

to this:

Code:
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
Quote:
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 10:48 AM..
# 7  
Old 12-26-2019
add the following lines
Code:
%.o: %.c 
        $(CXX) $(INCLUDES) -c $^ -o $@

Login or Register to Ask a Question

Previous Thread | Next Thread

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/proc.pid Output: /app/weblogic/myserver4/logs/myhostseven/data/proc.pid 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
Login or Register to Ask a Question