编译出来的exe文件与dll文件在不同目录无法运行?解决思路

编译出来的exe文件与dll文件在不同目录无法运行?
本帖最后由 sweetdark 于 2013-09-10 14:25:31 编辑
Makefile文件

include ../Makefile.in
PROGNAME=ogl1step
OUTNAME=$(PROGNAME).exe

SRC=\
tutorial01.cpp

OBJ= $(SRC:.cpp=.o)

$(OUTNAME): $(OBJ)
$(CXX) $(CXXFLAGS) $^ -o $(OUTNAME) $(LIBS)

clean:
rm -f *.exe
rm -f *.o

toturial01.o: toturial01.cpp
@echo \< $*.cpp\>
$(CXX) -c $(CXXFLAGS) $*.cpp -o $@


Makefile.in文件

CXX= g++

CXXFLAGS=\
-static\
-I../include\
-I../include/GL\
-D_STDCALL_SUPPORTED\
-D_M_IX86\

C= gcc

LIBS= -L../lib -LC:/Windows/System32 -lglew32 -lglew32s -lglut32 -lopengl32 -lglu32 ../bin/glut32.dll


.PHONY : clean



make的输出,使用的是mingw32-make
E:\opengl\oglstep1>make
g++ -static -I../include -I../include/GL -D_STDCALL_SUPPORTED -D_M_IX86    -c -o
 tutorial01.o tutorial01.cpp
g++ -static -I../include -I../include/GL -D_STDCALL_SUPPORTED -D_M_IX86  tutoria
l01.o -o ogl1step.exe -L../lib -LC:/Windows/System32 -lglew32 -lglew32s -lglut32
 -lopengl32 -lglu32 ../bin/glut32.dll

编译出来的exe文件与dll文件在不同目录无法运行?解决思路
即使我把glut32.dll 放在windows/system32 或者../bin ../lib目录都没有用,设置Path变量为DLL的目录也没用。只有放在.exe文件相同的目录才可以运行,为什么? 为什么VC编译出来的,即使dll没有放在与.exe相同的目录却也可以运行呢。
求解?
------解决方案--------------------
glut依赖某些dll,这些dll在你的exe目录
------解决方案--------------------
用depends.exe查看exe依赖的dll