Hi,
I recently tried to use Irrlicht on a mac. As Codeblocks isn't very stable on a mac I chose eclipse as an IDE.
But when I try to use Irrlicht, I get this linker error: "ld: library not found for -lIrrlicht"
I checked the path to the library, renamed it several times, but it won't work.
Maybe someone knows a solution for this problem.
Thanks in advance,
-Lu
Can't get Irrlicht to work with eclipse
-
- Posts: 41
- Joined: Tue Nov 16, 2010 4:57 pm
- Location: /home/yaten on a server somewhere East of Asia
- Contact:
hi sir kungfulu, i'm not quite sure what problem you are encountering but here are some of the things i can think of at the moment:
after running make on the irrlicht source directory, could you try running ldconfig?
EDIT:
attached below, is the Makefile that I use to compile my project, perhaps you could compare it with what you have and probably edit them as you like? the variable USERLDFLAGS can be blank.
after running make on the irrlicht source directory, could you try running ldconfig?
EDIT:
attached below, is the Makefile that I use to compile my project, perhaps you could compare it with what you have and probably edit them as you like? the variable USERLDFLAGS can be blank.
Code: Select all
# Makefile for Irrlicht Examples
# It's usually sufficient to change just the target name and source file list
# and be sure that CXX is set to a valid compiler
homedir = /home/yaten
# Name of the executable created (.exe will be added automatically if necessary)
Target := irrTemplate.bin
# List of source files, separated by spaces
Sources := Main.cpp
# Path to Irrlicht directory, should contain include/ and lib/
IrrlichtHome := ${homedir}/src/irrlicht
# Path for the executable. Note that Irrlicht.dll should usually also be there for win32 systems
#BinPath = ../../bin/$(SYSTEM)
BinPath = ./
# general compiler settings (might need to be set when compiling the lib, too)
# preprocessor flags, e.g. defines and include paths
USERCPPFLAGS =
# compiler flags such as optimization flags
USERCXXFLAGS = -O3 -ffast-math
#USERCXXFLAGS = -g -Wall
# linker flags such as additional libraries and link paths
USERLDFLAGS = -I./ -I${homedir}/src/yklib/cpp/Include -I${homedir}/src/XEffects/Source
####
#no changes necessary below this line
####
CPPFLAGS = -I$(IrrlichtHome)/include -I/usr/X11R6/include $(USERCPPFLAGS)
CXXFLAGS = $(USERCXXFLAGS)
LDFLAGS = $(USERLDFLAGS)
#default target is Linux
all: all_linux
# target specific settings
all_linux all_win32 static_win32: LDFLAGS += -L$(IrrlichtHome)/lib/$(SYSTEM) -lIrrlicht
all_linux: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lXext -lX11
all_linux clean_linux: SYSTEM=Linux
all_win32 clean_win32 static_win32: SYSTEM=Win32-gcc
all_win32 clean_win32 static_win32: SUF=.exe
static_win32: CPPFLAGS += -D_IRR_STATIC_LIB_
all_win32: LDFLAGS += -lopengl32 -lm
static_win32: LDFLAGS += -lgdi32 -lwinspool -lcomdlg32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lopengl32
# name of the binary - only valid for targets which set SYSTEM
DESTPATH = $(BinPath)/$(Target)$(SUF)
all_linux all_win32 static_win32:
$(warning Building...)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
clean: clean_linux clean_win32
$(warning Cleaning...)
clean_linux clean_win32:
@$(RM) $(DESTPATH)
.PHONY: all all_win32 static_win32 clean clean_linux clean_win32
#multilib handling
ifeq ($(HOSTTYPE), x86_64)
LIBSELECT=64
endif
#solaris real-time features
ifeq ($(HOSTTYPE), sun4)
LDFLAGS += -lrt
endif