CPP = g++
INCS = -I"include" -I"../../Engine" -I"../../Engine/Core" -I"../../Engine/Foundation" -I"../../Engine/Kernel" -I"../../Engine/Platform"
LIBS = -L"lib" -L"/usr/X11R6/lib" -ldl
LIB = ../../Bin/Linux/lib-gcc.a
LIB_OBJECTS = linux_platform.o linux_main.o log.o
TEST = ../../Test/Linux/Test
all: $(LIB) $(TEST)
$(TEST): $(LIB) test.o
$(CPP) $(INCS) -o $(TEST) test.o $(LIB)
$(LIB): $(LIB_OBJECTS)
ar r $(LIB) /usr/lib/libdl.a $(LIB_OBJECTS)
ranlib $(LIB)
clean:
rm -f *.o $(LIB) $(TEST)
linux_main.o: ../../Engine/Platform/linux_main.cpp
$(CPP) -c ../../Engine/Platform/linux_main.cpp -o linux_main.o $(INCS)
log.o: ../../Engine/Foundation/log.cpp
$(CPP) -c ../../Engine/Foundation/log.cpp -o log.o $(INCS)
linux_platform.o: ../../Engine/Platform/linux_platform.cpp
$(CPP) -c ../../Engine/Platform/linux_platform.cpp -o linux_platform.o $(INCS)
test.o: ../../Test/Linux/test.cpp
$(CPP) -c ../../Test/Linux/test.cpp -o test.o $(INCS)
I get errors when my test executable compiles, about unresolved references to the dlopen() functions, which are contained in libdl.a. It seems even though my static library is linking to libdl.a, the excutable cannot find the functions inside my static library.
Can anyone help solve my problem? How can I make sure libdl is linked into my static library correctly? Thanks for any help.
Makefile Help
I'm trying to get my project to compile on Linux. The code all works on Windows, my problem is with getting Make to successfully build my code. I'm new to Linux development but I managed to write a makefile that compiles a few shared objects a static library and an executable, which make up my project. The section of the makefile that I'm having a problem with is here:
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement