Forum: DirectX lib fel!

Forum huvudsida -> Programmering -> DirectX lib fel!

Sidor: 1 2

Till botten

Celeron 06:17 - 9:e September 2005 | Post #1
Medlem
Inlägg: 418


Skicka PM
Jag håller på med att göra ett test program för att lära mig att ställa in kompilatorn för DirectX och lära mig grunderna. Men det blir fel. Jag får länknings fel så det måste vara någon lib fil som jag inte inkluderat(?). Det finns 2 mappar med lib filer: x64 och x86. Jag vet inte vilken av mapparna med lib filer jag ska använda. Jag har iaf inkluderat d3d9.lib ur båda mapparna, men jag får ändå länknings felen:
D:\Cpp\DirectX test\main.o(.text+0x292) In function `Z8SetUpD3DP6HWND__':
[Linker error] undefined reference to `Direct3DCreate9@4'
D:\Cpp\DirectX test\main.o(.text+0x292) ld returned 1 exit status
D:\Cpp\DirectX test\main.o(.text+0x292) *** ["DirectX] Error 1

SetUpD3D(HWND); är min egna funktion.

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Dojjan 10:18 - 9:e September 2005 | Post #2
Medlem
Inlägg: 114


Skicka PM
Linka från mappen x86




Celeron 20:01 - 9:e September 2005 | Post #3
Medlem
Inlägg: 418


Skicka PM
OK. Varför?

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



tobbez 21:43 - 9:e September 2005 | Post #4
Medlem
Inlägg: 364


Skicka PM
din processor-arkitektur är x86, alltså ska du använda biblioteken som är kompilerade för denna.
om du däremot har en amd64 kan du använda x64, men då kommer dina program inte kunna köras på x86-datorer, och amd64 har stöd för x86 också, så det känns lite onödigt...

hoppas du förstår och att jag har rätt




Celeron 06:45 - 10:e September 2005 | Post #5
Medlem
Inlägg: 418


Skicka PM
Jo, då förstår jag. Visserligen har jag en AMD 64, men man vill ju att programmen ska gå att köra på andra datorer också! Men tyvär så får jag det inte att funka. Jag har lagt till x86 som en bibliotekskatalog och d3d9.lib som extra parameter till länkaren, och då blir det bara
*** ["DirectX] Error 1
men om jag klickar på "Lägg till bibliotek" och lägger till d3d9.lib så kommer hela sökvägen och då får jag dom felmeddelandena som jag skrev i början.

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



GeekRPG 16:25 - 11:a September 2005 | Post #6
Medlem
Inlägg: 29


Skicka PM
Nja, jag vet inte riktigt, men prova inkludera båda :/

-------------------------
SPAM = "Stupid pointless annoying messege"



tobbez 20:19 - 11:a September 2005 | Post #7
Medlem
Inlägg: 364


Skicka PM
GeekRPG: om man inte vet något om det som efterfrågas bör man inte skriva något. Dessutom bör man läsa frågan tillräckligt noggrant, vilket du _INTE_ har gjort. Hade du gjort det hade du sett att det inte fungerar då han inkluderar båda mapparna.




Celeron 06:31 - 12:a September 2005 | Post #8
Medlem
Inlägg: 418


Skicka PM
Det verkar som om DirectX SDK's lib filer är inkompatible med Dev-C++ (läste det på en hemsida). Så jag får väl försöka hitta en ny kompilator.

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Independence 18:31 - 12:a September 2005 | Post #9
Administratör
Inlägg: 1800


Skicka PM
Eller sä lågger du ner DirectX, det är ju värdelöst ändå Smiley

-------------------------

Vi är riddarna som säger fiskbulle!





Ranger 19:33 - 12:a September 2005 | Post #10
Medlem
Inlägg: 16


Skicka PM
    Citat av Independence:
Eller sä lågger du ner DirectX, det är ju värdelöst ändå Smiley




Rättelse av Ranger
Eller så lägger du ner DirectX, det är ju värdelöst ändå Smiley

-------------------------
SPAM = Stupid pointless annoying messege.



Celeron 20:23 - 12:a September 2005 | Post #11
Medlem
Inlägg: 418


Skicka PM
Haha. Jo jag funderar nästan på det! Jag gillar nämligen Dev-C++ och om OpenGL funkar med det så kanske det är bättre. Jag kan ju alltid lära mig DirectX också senare. Men jag läste att det finns motsvarigheter till DirectX's nätverks- och ljud grejor. Vad menas med det?

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Dojjan 09:33 - 13:e September 2005 | Post #12
Medlem
Inlägg: 114


Skicka PM
DirectX är inte endast för det grafiska (Direct3D och DirectDraw). Det finns även saker som behjandlar ljud och input osv även om jag nu inte minns vad det heter




Celeron 16:32 - 13:e September 2005 | Post #13
Medlem
Inlägg: 418


Skicka PM
Jo, jag vet och jag har lästa tt det finns motsvarigheter till det i OpenGL och vad är motsvarigheterna?

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Zoulz 17:55 - 13:e September 2005 | Post #14
Medlem
Inlägg: 30


Skicka PM
    Citat av Independence:
Eller sä lågger du ner DirectX, det är ju värdelöst ändå Smiley


Jag undrar varför (i princip) vart enda spelutvecklare använder sig utav DirectX om det är så värdelöst? Smiley

Typ bara Carmack som använder OpenGL, å andra sidan använder han ju vanlig C också så han kanske är lite gammalmodig.





tobbez 18:17 - 13:e September 2005 | Post #15
Medlem
Inlägg: 364


Skicka PM
de måste vara mutade av microsoft Smiley
opengl är bättre, cross-platform osv.




Independence 19:10 - 13:e September 2005 | Post #16
Administratör
Inlägg: 1800


Skicka PM
Pixelshaders fungerar bara i DirectX har jag för mig, det är väl den största anledningen. Anledningen att inte använda DirectX är att det är ett stängt format så man lägger sitt öde i Microsofts händer, och dessutom kan man inte porta spelet till Linux, MacOS mf.

-------------------------

Vi är riddarna som säger fiskbulle!





Celeron 19:36 - 13:e September 2005 | Post #17
Medlem
Inlägg: 418


Skicka PM
Men det är enda nackdelen med DirectX.

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Independence 19:37 - 13:e September 2005 | Post #18
Administratör
Inlägg: 1800


Skicka PM
Ja, och den är rätt avgörande då man sitter i Linux Smiley

-------------------------

Vi är riddarna som säger fiskbulle!





ozamosi 19:43 - 13:e September 2005 | Post #19
Administratör
Inlägg: 1129


Skicka PM
    Citat av Celeron:
Jo, jag vet och jag har lästa tt det finns motsvarigheter till det i OpenGL och vad är motsvarigheterna?

Finns två metoder...
Det ena är att använda SDL med OpenGL-surfaces. Då använder man alltså OpenGL till att rita, och SDL till allt runt omkring som ljud, eventhantering mm...

Den andra varianten är att använda OpenAL till ljud t ex. Till nätverk kan man säkerligen hitta något bibliotek någonstanns, eller så hackar man ihop ett själv. Kort sagt: använda ett bibliotek till varje syssla.

-------------------------
Ljusblå



Celeron 20:27 - 13:e September 2005 | Post #20
Medlem
Inlägg: 418


Skicka PM
Vad är OpenAL?

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



ozamosi 21:26 - 13:e September 2005 | Post #21
Administratör
Inlägg: 1129


Skicka PM
SGI:s ljud-bibliotek

-------------------------
Ljusblå



Zoulz 21:55 - 13:e September 2005 | Post #22
Medlem
Inlägg: 30


Skicka PM
Vem spelar spel i Linux? Jag ser ingen direkt fördel med cross-platform för spel. Alla som spelar spel har Windows, så är det bara.

Enda jag kan tänka mig isåfall är för konsoll-platformar.




Independence 21:57 - 13:e September 2005 | Post #23
Administratör
Inlägg: 1800


Skicka PM
Jag spelar spel i Linux ibland, skulle troligvis göra det mer om det fanns fler bra spel. Tyvärr finns det nästan inga, och inga till Windows heller Smiley (spelar OpenTTD ibland)

-------------------------

Vi är riddarna som säger fiskbulle!





Celeron 06:59 - 14:e September 2005 | Post #24
Medlem
Inlägg: 418


Skicka PM
Och vad är SGI?

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Sweenie 08:33 - 14:e September 2005 | Post #25
Medlem
Inlägg: 2


Skicka PM
Om du känner att du vill ge dig på DirectX ändå så kan du alltid använda Visual C++ Toolkit 2003 i kombination med Code::Blocks.
Code::Blocks är ett gratis IDE som stödjer en hög av olika compilers inklusive Visual C++ Toolkit 2003.

Men om det är spelutveckling du är ute efter så skulle jag nog hellre rekommendera en färdig 3D-engine, typ Irrlicht eller Ogre3D.
Irrlicht funkar finfint med DevCpp men Ogre3D får man pilla en del med om det skall funka med DevCpp.

Fördelen med detta är att du får både OpenGL och DirectX-stöd samt att du inte behöver riva med dom jobbiga "hardcore-delarna", dvs inläsning av texturer, modeller samt kompabilitetstester mot hårdvaran osv.

Irrlicht är betydligt lättast att använda medans Ogre3D är snäppet vassare(enligt min mening i alla fall) Smiley



-------------------------
Ingen signatur!



Sidor: 1 2

Forum huvudsida -> Programmering -> DirectX lib fel!
Atom feed

Du får inte posta i den här tråden | Till toppen