2010-08-04 5 views
-1

J'essaie d'obtenir pfstools (ainsi que pfstmo et pfscalibration) fonctionnant sous Windows. Il s'agit essentiellement d'une série d'outils de ligne de commande open source pour l'imagerie HDR (High Dynamic Range). Ils ont été développés pour Linux, donc la documentation dit que dans Windows, ils doivent être compilés et exécutés dans Cygwin, ce qui n'est pas un gros problème sauf que je ne peux pas les faire compiler en suivant les instructions.Pfstools - compilation pour Windows

Quelqu'un a-t-il une quelconque expérience de l'utilisation de Windows? La page d'accueil du projet est here. Merci.

+0

Aucune expérience avec ces outils en particulier, beaucoup d'expérience dans la compilation de choses. Quel genre d'erreurs de compilation obtenez-vous? – Thomas

Répondre

1

Je ne peux pas vous donner la réponse à coup sûr, mais j'ai aussi du mal à les intégrer dans cygwin. Cela ressemble à un problème de symbole manquant. C'est le premier endroit où il échoue, quand il ne peut pas trouver le symbole __int64. Je ne comprends pas tout à fait ceci parce que c'est tout le code de Linux et j'ai pensé que __int64 était un symbole de Microsoft VC++ - seulement. Quoi qu'il en soit, j'ai essayé de coller un "long long" pour ça à différents endroits et ça ne prend pas. Le mieux que je peux comprendre est que les bibliothèques d'ImageMagick sont conçues pour fonctionner avec Visual C++ et Linux, et quand ensuite voir la définition de WINDOWS, elles essaient d'utiliser des symboles spécifiques VC++ (et qui sait quoi d'autre), même si nous ne sommes pas en fait compiler avec VC++, et KABOOM!

$ make 
make all-recursive 
make[1]: Entering directory `/home/Ben/pfstools-1.8.2' 
Making all in src 
make[2]: Entering directory `/home/Ben/pfstools-1.8.2/src' 
Making all in pfs 
make[3]: Entering directory `/home/Ben/pfstools-1.8.2/src/pfs' 
make[3]: Nothing to be done for `all'. 
make[3]: Leaving directory `/home/Ben/pfstools-1.8.2/src/pfs' 
Making all in fileformat 
make[3]: Entering directory `/home/Ben/pfstools-1.8.2/src/fileformat' 
g++ -DHAVE_CONFIG_H -I. -I../.. -I./../pfs -fopenmp -I/usr/include/ImageMagick 
     -O3 -MT pfsinimgmagick.o -MD -MP -MF .deps/pfsinimgmagick.Tpo -c -o pfs 
inimgmagick.o pfsinimgmagick.cpp 
In file included from /usr/include/ImageMagick/magick/MagickCore.h:147, 
       from /usr/include/ImageMagick/Magick++/Include.h:47, 
       from /usr/include/ImageMagick/Magick++/Image.h:11, 
       from /usr/include/ImageMagick/Magick++.h:9, 
       from pfsinimgmagick.cpp:29: 
/usr/include/ImageMagick/magick/magick-type.h:129: error: `__int64' does not nam 
e a type 
[and so on] 
+0

OK, après avoir piraté ImageMagick pour qu'il n'utilise pas cette stupide branche de symbole, il a bien compilé et je suis tombé sur le prochain problème qui est que le Makefile essaie d'utiliser un outil mystérieux appelé "o" pour compiler main. moc.cpp. Et je cite "make [3]: o: Commande non trouvée" Mon hypothèse est que cela est dû à une erreur dans le makefile. – Ben

+0

Je pense que QT est le problème avec la construction de pfsview - le compilateur moc refuse juste d'installer correctement. Fondamentalement, à moins que vous ne vouliez avoir de vraies XWindows fonctionnant sur votre Cygwin, je pense que je passerais juste pfsview. C'est beaucoup plus de problèmes que ça en vaut la peine. Après avoir corrigé le problème ImageMagick et installé environ 500 dépendances, j'ai les outils de ligne de commande fonctionnant bien. – Ben

Questions connexes