VC++ und fehlende lib ?
-
Moin,
ich spiele derzeit ein bisschen mit DirectX rum. Mein Problem ist jetzt das das compilieren des Projektes nicht klappt. Er meckert immer darüber das er die d3dx9.lib nicht finden kann. Hab mit der Suchfunktion von Windows danach gesucht auf dem Rechner hab ich die lib nicht. Hab dann mit google danach gesucht. Auf einigen Seiten heisst es das man DirectX installiert haben muss damit man die lib hat. DirectX hab ich installiert und zwar die neuste Version. Dann hieß es auf einigen Seiten das man das DirectX SDK braucht. Natürlich hab ich das auch installiert. Irgendwie hab ich jetzt keine Ahnung wo ich die lib herbekommen soll. Genaue Fehlermeldung ist:Compiling...
main.cpp
Linking...
LINK : fatal error LNK1104: cannot open file 'd3dx9.lib'
Creating browse information file...
Microsoft Browse Information Maintenance Utility Version 8.00.50215
Copyright (C) Microsoft Corporation. All rights reserved.
-
Welche Version vom SDK hast du denn installiert?
Bei mir liegt die Lib im Verzeichnis:
\Programme\Microsoft DirectX 9.0 SDK\Lib\X86\
mit allen anderen Libs.
Es war ja so, dass man diese Helper Lib ab der neuen 9´er Version auch dynamisch linken konnte(also als DLL).
Vielleicht haben sie im Gegensatz die statische Version wegfallen lassen.
-
Ich hatte mir die neuste Version von der MSDN Seite gesaugt. Aber jetzt hab ich die lib auch gefunden. Ich find sie aber der compiler findet sie ned. Vielleicht hab ich auch was falsch gemacht. Ich hab die VC++ Beta2 Express Edition. Als ich damals das Windows SDK einbinden wollte ging es nicht wie auf der Seite beschrieben. Hatte das Problem auch mal hier geschildert soweit ich noch weiss. Damals hab ich dann ne Antwort in MSDN Forum gefunden das man die Ordner include lib etc. einfach aus den SDK heraus kopieren soll und diese dann dahin kopieren wo VC++ die Ordner erwartet. Ging mit den Win SDK ohne Probleme das gleiche hab ich jetzt auch mit den DirectX SDK gemacht. Hab mir die include und lib Ordner geschnappt und nach "C:\Programme\Microsoft Visual Studio 8\VC" kopiert. Die lib liegt bei mir jetzt in "C:\Programme\Microsoft Visual Studio 8\VC\lib\x86" finden tut er sie aber nicht
-
Hi,
also grundsätzlich unterscheidet der Compiler/Linker zwischen dem Suchpfad der Includes und der Libs.
Welche Suchpfade er in welche Reihenfolge durchgehen soll, kannst du natürlich auch einstellen. Da musst du nichts rüberkopieren.
Diese PfadEinstellungen kannst du einmal generell machen und dann noch einmal in den Projekteinstellungen für jedes Projekt extra.Außerdem werden m.E. der keine Unterverzeichnisse berücksichtig.
Also muss dieser Suchpfad mit "\x86" enden und nicht mit "\lib".
-
Genau man soll es angeben können. So war es auch in der Hilfe von VC++ beschrieben. Problem an der Sache ist aber das man bei mir nix angeben kann. Wenn ich in das Menü gehe wo es sein soll kann ich zwar auf Ordner anzeigen gehen. Es ist dann aber alles nur grau er zeigt keine Ordner an genau so wenig kann man Ordner dazu tun. Ich bin auch nicht der einzigste mit den Problem. Schau mal ins MSDN Forum. Das Board ist voll damit das man keine Ordner angeben kann. Und weil das ned geht gab es damals halt den Tip die Ordner einfach rüber zu kopieren.
-
Ok hab jetzt die schnauze voll von der Expres Edition. Würde mir gerne die normale Version kaufen. Meint ihr das lohnt sich für nen Anfänger ? Hab jetzt zwei Versionen im Netz gefunden. Einmal:
VC++ 6.0 Standard Edition 119€
VC++ net Version 2003 Standard 119€Wo ist der unterschied bzw was würdet ihr von den beiden empfehlen ?
Noch eine Frage auf der MS Seite kann man sich für 10€ die Beta2 von Visual Studio zuschicken lassen. Wäre das eventuell die billigere alternative ? Oder gibt es dort irgendwelche einschränkungen ?
-
Nimm die VC++ .net Version 2003 Standard.
Alles andere macht dich nicht glücklich.Außer wenn du Schüler/Student bist.Dann greif zur Akademic Edition zum etwa gleichen Preis!
Oder hier http://www.softgames.de/developia/visualstudio.php
-
Ok habs mir heute in der Stadt gekauft. Wollte mir eigentlich nur ne Schwarze Tintenpatrone kaufen und da hab ich gesehen das die VC++ net Version 2003 STandard auch da hatten hab ich mir gleich mitgenommen. Nun klappt es auch endlich mit der lib
-
Rifur schrieb:
Ich hatte mir die neuste Version von der MSDN Seite gesaugt. Aber jetzt hab ich die lib auch gefunden. Ich find sie aber der compiler findet sie ned. Vielleicht hab ich auch was falsch gemacht. Ich hab die VC++ Beta2 Express Edition. Als ich damals das Windows SDK einbinden wollte ging es nicht wie auf der Seite beschrieben. Hatte das Problem auch mal hier geschildert soweit ich noch weiss. Damals hab ich dann ne Antwort in MSDN Forum gefunden das man die Ordner include lib etc. einfach aus den SDK heraus kopieren soll und diese dann dahin kopieren wo VC++ die Ordner erwartet. Ging mit den Win SDK ohne Probleme das gleiche hab ich jetzt auch mit den DirectX SDK gemacht. Hab mir die include und lib Ordner geschnappt und nach "C:\Programme\Microsoft Visual Studio 8\VC" kopiert. Die lib liegt bei mir jetzt in "C:\Programme\Microsoft Visual Studio 8\VC\lib\x86" finden tut er sie aber nicht
Tja, schade dass die normale Suchfunktion schon so lange down ist. *winkmitdemzaunpfahlandenadministrator*
Dann hättest du wohl auch diesen Thread mit meinem Beitrag (Seite 2) gefunden und dir vermutlich das Geld für VC++ .NET 2003 sparen können.
-
Na nun machs ihm mal nicht gleich mies, groovi.
Immerhin besteht das Paket aus einigen Sachen mehr als bei der Expressversion enthalten ist.
-
groovemaster schrieb:
Rifur schrieb:
Ich hatte mir die neuste Version von der MSDN Seite gesaugt. Aber jetzt hab ich die lib auch gefunden. Ich find sie aber der compiler findet sie ned. Vielleicht hab ich auch was falsch gemacht. Ich hab die VC++ Beta2 Express Edition. Als ich damals das Windows SDK einbinden wollte ging es nicht wie auf der Seite beschrieben. Hatte das Problem auch mal hier geschildert soweit ich noch weiss. Damals hab ich dann ne Antwort in MSDN Forum gefunden das man die Ordner include lib etc. einfach aus den SDK heraus kopieren soll und diese dann dahin kopieren wo VC++ die Ordner erwartet. Ging mit den Win SDK ohne Probleme das gleiche hab ich jetzt auch mit den DirectX SDK gemacht. Hab mir die include und lib Ordner geschnappt und nach "C:\Programme\Microsoft Visual Studio 8\VC" kopiert. Die lib liegt bei mir jetzt in "C:\Programme\Microsoft Visual Studio 8\VC\lib\x86" finden tut er sie aber nicht
Tja, schade dass die normale Suchfunktion schon so lange down ist. *winkmitdemzaunpfahlandenadministrator*
Dann hättest du wohl auch diesen Thread mit meinem Beitrag (Seite 2) gefunden und dir vermutlich das Geld für VC++ .NET 2003 sparen können.Ja und ? Mun Rate mal was ich vorher hatte ? Ja genau das teil da und ich war damit nicht zufrieden also wo ist das Problem ? Wenn man externe Ordner mit angeben soll ist es einfach nur ne qual. So wie es in der Readme von den Prog steht geht es ned. Das MSDN Forum ist voll mit den Problemen. Die Lösungen dazu sind alle mehr oder weniger mies. Ordner selber rüber kopieren. So hab ich es gemacht was ich davon hatte hab ich ja gesehn. Kaum etwas ging ned mal irgendwelche Beispiel sachen ließen sich bauen. Dann gab es noch die möglichkeit config Dateien per Hand zu ändern. Dazu hatte ich keine Lust. Nun hab ich halt 119€ ausgegeben und kann meine Ordner ganz bequem dazu tun. Hättest du übrigens mein Beitrag komplett gelesen würdest du wissen das ich genau das vorher hatte. Habs nämlich am Anfang gesagt. Aber naja lieber mal meckern ist ja viel schöner.....