Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » DirectX » D3DX Funktionen benutzen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
03.10.2005, 15:26 Uhr
bar|foo



Moin,

Ich programmiere zur Zeit viel mit DX9 und wollte jetzt auch mal die D3DX Funktionen benutzen, um zum Beispiel Texturen benutzen. Also hab ich dann #include <d3dx9.h> gemacht und bei den Linker Parametern geschrieben: -ld3d9 d3dx9.lib.

Nun schmeißt mir Dev-C++ aber diesen Fehler: EC++\3D\Makefile.win [Build Error] [test.exe] Error 1

Was mach ich falsch?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.10.2005, 16:08 Uhr
xXx
Devil


hmm, ok du arbeitest mit dem Dev-C++ der von DX offiziel nicht unterstütz wird und ich kenn mich mit dem auch net so aus, aber evt. hast du dafür nicht die DevPacks runtergeladen, die man irgendwo in den tiefen der DevC++ Page finden kann, wie ich sehe, hast du die ja auch schon im einsetzt, nur weiß ich net ob auch für d3dx...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.10.2005, 16:17 Uhr
bar|foo



Doch, die hab ich. Es funktioniert ja DX9 allgemein, nur die D3DX funktionen nicht..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.10.2005, 16:29 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


dann zeig mal die komplette fehlerliste ansonsten haste evtl auch einfach nen fehler in der makefile. Linkeroptionen einfach nur -ld3d9 zum einbinden von ner lib.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.10.2005, 16:55 Uhr
bar|foo



Das was ich oben geschrieben habe ist ja die komplette Fehlerliste!

Meine Linkeroptionen stehen ja oben, ich dachte eben, ich muss jetzt die d3dx9.lib auch noch mit linken, wenn ich die D3DX Funktionen und nicht nur die D3D9 Funktionen benutzen will..

Makefile.win:

Code:
# Project: VertexBase
# Makefile created by Dev-C++ 4.9.9.2

CPP  = g++.exe
CC   = gcc.exe
WINDRES = windres.exe
RES  = test_private.res
OBJ  = main.o vector.o engine.o matrix.o $(RES)
LINKOBJ  = main.o vector.o engine.o matrix.o $(RES)
LIBS =  -L"lib" -mwindows -ld3d9 d3dx9.lib  
INCS =  -I"include"
CXXINCS =  -I"lib/gcc/mingw32/3.4.2/include"  -I"include/c++/3.4.2/backward"  -I"include/c++/3.4.2/mingw32"  -I"include/c++/3.4.2"  -I"include"
BIN  = test.exe
CXXFLAGS = $(CXXINCS)  
CFLAGS = $(INCS)  
RM = rm -f

.PHONY: all all-before all-after clean clean-custom

all: all-before test.exe all-after


clean: clean-custom
    ${RM} $(OBJ) $(BIN)

$(BIN): $(OBJ)
    $(CPP) $(LINKOBJ) -o "test.exe" $(LIBS)

main.o: main.cpp
    $(CPP) -c main.cpp -o main.o $(CXXFLAGS)

vector.o: vector.cpp
    $(CPP) -c vector.cpp -o vector.o $(CXXFLAGS)

engine.o: engine.cpp
    $(CPP) -c engine.cpp -o engine.o $(CXXFLAGS)

matrix.o: matrix.cpp
    $(CPP) -c matrix.cpp -o matrix.o $(CXXFLAGS)

test_private.res: test_private.rc
    $(WINDRES) -i test_private.rc --input-format=rc -o test_private.res -O coff


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.10.2005, 17:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


lass es mal weg oder mach ein -l davor
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
03.10.2005, 17:55 Uhr
bar|foo



Mit -l: cannot find -ld3dx9.lib, ld returned 1 exit status, EC++\3D\Makefile.win [Build Error] [test.exe] Error 1

Ganz ohne: [Linker error] undefined reference to `D3DXCreateTextureFromFileExA@56', ld returned 1 exit status, EC++\3D\Makefile.win [Build Error] [test.exe] Error 1

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
03.10.2005, 17:58 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ok dann schau mal in den ordner wo die d3d9 library drinliegt die devc++ findet, ich glaube die libs müssen in einer der folgenden art heißen:


C++:
libname.a
libname.la



dann sollte er die mit -ld3dx9 theoretisch finden
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
03.10.2005, 18:05 Uhr
bar|foo



Nunja, da gibt es eine libd3dx9.a, aber wenn ich die linke, dann gibt es den gleichen Fehler wie ganz oben aus..

Wenn ich mit-ld3dx9 linke, dann gibt es beim starten einen Fehler: "Die Anwendung konnte nicht gestartet werden, weil d3dx9.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem beheben."

Soll das heißen, ich hab DirectX nicht installiert? Dann würden aber auch spiele wie Joint Operations nicht laufen..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
03.10.2005, 18:15 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja hast du DirectX 9 installiert? sonst gehts natürlich nicht (wenn du z.b nur directx 8 installiert hast). Ansonsten stimmt -ld3dx9 schon, schliesslich findet er dann nur die dx runtime nicht (also beim starten des fertigen programms)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ DirectX ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: