Page 1 of 1
Can't get Irrlicht to work with eclipse
Posted: Sun Jan 02, 2011 12:48 pm
by KungFuLu
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
Posted: Sun Jan 02, 2011 2:21 pm
by yaten
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.
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
Posted: Sun Jan 02, 2011 11:41 pm
by hybrid
You should, under most circumstances, use XCode on the Mac.
Posted: Tue Jan 04, 2011 5:26 pm
by KungFuLu
yaten: Thanks for your help, but I didn't run make on the Irrlicht source directory (at least I think I didn't
)
hybrid: I think you're right. I thought it would be nice to have a cross-platform IDE, but all of them just work well under Windows and Linux and not on a Mac.