Seite 1 von 2

Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Mo Jan 14, 2013 6:56 pm
von Bebu
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

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Mo Jan 14, 2013 9:39 pm
von Kerli
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)

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Mo Jan 14, 2013 11:21 pm
von fat-lobyte
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.

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Sa Jan 19, 2013 9:30 pm
von Bebu
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.

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Sa Jan 19, 2013 10:01 pm
von fat-lobyte
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

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Mi Jan 23, 2013 6:34 pm
von Bebu
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 :(

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Mi Jan 23, 2013 10:07 pm
von fat-lobyte
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.

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Mi Jan 23, 2013 10:21 pm
von Bebu
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 :?

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Do Jan 24, 2013 10:16 am
von Xin
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 ;-)

Re: Includeverzeichnis/Libverzeichnis Umgebungsvariable?

Verfasst: Do Jan 24, 2013 6:08 pm
von Bebu
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...