Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Windowsspezifische Probleme, WinAPI, conio.h
Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von Bebu » Mo Jan 14, 2013 6:56 pm

Hallo zusammen,

wollte mal meinen Winterschlaf beenden und habe gleich ein Problem. Ich will Dedupe auch unter Windows kompilieren und voll nutzen können. Ich habe mir bisher die Boost Lib runtergeladen und auch kompiliert. Das ganze liegt auch sauber in Include und lib Verzeichnis getrennt vor. Jetzt müsste noch Cmake die Libs finden, dann könnte es langsam wieder losgehen. Kann man die Verzeichnisse in eine Umgebungsvariable eintragen? Wenn ja, in welche? Google hat mir gestern nix dazu ausgespuckt, aber ich wusste auch nicht so genau, nach welchen Begriffen ich suchen sollte.

Bebu
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von Kerli » Mo Jan 14, 2013 9:39 pm

Bebu hat geschrieben:wollte mal meinen Winterschlaf beenden und habe gleich ein Problem.
Dabei beginnt doch gerade der Winter ;)

Am Besten schaust du in deine FindBoost.cmake hinein. Normalerweise sollte es mit BOOST_ROOT funktionieren (http://cmake.org/gitweb?p=cmake.git;a=b ... .cmake#l30)
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von fat-lobyte » Mo Jan 14, 2013 11:21 pm

Oh Mann, das war ne quälerei, das kann ich dir sagen...
Ich glaube du musst sowohl BOOST_ROOT als auch BOOST_LIBRARYDIR setzen. Früher musste man bei einer aktuellen Boost-Version diese noch in Boost_ADDITIONAL_VERSIONS setzen, aber mit einer aktuellen Version von CMake sollte das nicht mehr nötig sein.
Versuchs erstmal so.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von Bebu » Sa Jan 19, 2013 9:30 pm

Jo, danke, wenn ich die Pfade direkt setzte, dann klappt es mit dem kompilieren. Ich wollte eine Möglichkeit finden, das Cmake die Libs über eine Umgebungsvariable selber finden kann.

Leider ist mein Problem erst zur Hälfte gelöst. Es kompiliert jetzt und linkt auch, aber sobald ich versuche es auszuführen, stürtzt Dedupe mit dem Hinweis ab, das eine der Boost-Bibliotheken nicht installiert ist. Muss mal versuchen, das Libverzeichnis zur Umgebungsvariable hinzuzufügen, vielleicht klappts dann.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von fat-lobyte » Sa Jan 19, 2013 10:01 pm

Bebu hat geschrieben:Jo, danke, wenn ich die Pfade direkt setzte, dann klappt es mit dem kompilieren. Ich wollte eine Möglichkeit finden, das Cmake die Libs über eine Umgebungsvariable selber finden kann.
Ich glaube, die Funktionalität gibts nicht mehr. Versuchs mal mit "BOOST_ROOT" oder "BOOSTROOT" oder sowas. Aber viel Hoffnung habe ich nicht.
Leider ist mein Problem erst zur Hälfte gelöst. Es kompiliert jetzt und linkt auch, aber sobald ich versuche es auszuführen, stürtzt Dedupe mit dem Hinweis ab, das eine der Boost-Bibliotheken nicht installiert ist. Muss mal versuchen, das Libverzeichnis zur Umgebungsvariable hinzuzufügen, vielleicht klappts dann.
Ach ja, da war ja was...
Du hast drei Möglichkeiten: entweder du linkst statisch (uncool!) fügst das verzeichnis mit den Boost-DLL's zum PATH hinzu oder du kopierst einfach die richtigen (!) DLL's in das gleiche Verzeichnis indem die Exe liegt. Um die Richtigen DLL's zu finden (und meinen Artikel zu promoten ;-) ) kannst du das hier lesen: http://www.proggen.org/doku.php?id=wind ... dlldepends
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von Bebu » Mi Jan 23, 2013 6:34 pm

Danke für die Tipps.

Aber Softwareentwicklung unter Windows ist doch die HÖLLE :evil:
Was ist passiert? Lief schon alles, aber der Unittest hat nicht funktioniert, vermutlich weil ich von shared auf static Libs umgestellt hatte. Totales durcheinander also Arbeitsverzeichnis einmal ausleeren und von vorne beginnen. Resultat: Cmake findet die Boost Libs wieder nicht mehr und ich habe schon wieder vergessen, mit welchen Pfaden es vorher geklappt hat. *Grummel*

PS: Das hier hat Ähnlichkeit mit einem Frustpost :(
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von fat-lobyte » Mi Jan 23, 2013 10:07 pm

Ich überlege mir gerade... Man könte theoretisch ein Dedupe-Windows-SDK anbieten: alles selber vorkompilieren, alle Verzeichnisse hart setzen, damit die Entwickler dann nur mehr auf "Weiter->Weiter-Weiter->Abschließen" klicken müssen.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von Bebu » Mi Jan 23, 2013 10:21 pm

Wäre eine Möglichkeit. Hast du Lust dazu?

Inzwischen klappt es wieder mit dem kompilieren. Dedupe baut, aber mit dem Unittest sieht es noch nicht so gut aus. Wenn ich mit Statischen Libs baue, dann kompilert er, es werden aber keine Testfälle gefunden. Versuche ich es dynamisch, dann bekomme ich einen Linkerfehler. Da werde ich wohl noch ein Weilchen drüber brüten müssen :?
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von Xin » Do Jan 24, 2013 10:16 am

Bebu hat geschrieben:Inzwischen klappt es wieder mit dem kompilieren. Dedupe baut, aber mit dem Unittest sieht es noch nicht so gut aus. Wenn ich mit Statischen Libs baue, dann kompilert er, es werden aber keine Testfälle gefunden. Versuche ich es dynamisch, dann bekomme ich einen Linkerfehler. Da werde ich wohl noch ein Weilchen drüber brüten müssen :?
Kannst Du die Vorbereitung einer Windows-Maschine vielleicht kurz im Wiki beschreiben?


Und was die Entwicklung unter Windows angeht... ich teste hier gerade einige Sachen - auch mit cmake (was sich aber vergleichsweise anständig verhält). Darunter sind unter anderem Build-Skripts in Perl und und und... hier noch flex, da noch bison, bis man das alles mit den richtigen PATHs eingerichtet und zusammenkopiert hat, ist zack ein Tag vergangen.
War bei der libffi auch so. Mit Visual Studio benutzbar, aber um sie zu kompilieren, braucht man mingw. Unter Linux kurz apt-get install und läuft...
So genug Beteiligung am Frust-Teil des Threads ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Beitrag von Bebu » Do Jan 24, 2013 6:08 pm

Du kannst mir glauben, ich vermisse apt-get install wirklich :(

Aber es hilft ja nichts. Die Redmounter werden deswegen bestimmt nicht anfangen eine vernünftige Paketverwaltung zu bauen. Das mit dem Windowsstore unter Windows 8 könnte ja so was werden, aber ich kann mir bei Microsoft nicht vorstellen, dass das ausgereift ist...
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Antworten