Comment compiler Cairo pour Visual C ++ 2008 (édition Express)
Plus précompilés des binaires pour Windows sont faites avec le MSYS+gcc de la chaîne. Il utilise MSVCRT de l'exécution, ce qui est incompatible avec Visual C++ 2005/2008.
Alors, comment aller à ce sujet et de compiler le Caire 1.6.4 (ou plus tard) pour Visual C++. Y compris les dépendances (png,zlib,pixman).
source d'informationauteur akauppi
Vous devez vous connecter pour publier un commentaire.
Voici des instructions pour la construction du Caire/Cairomm avec Visual C++.
Requis:
Utiliser VC++ outils de ligne de commande, un fichier de commandes 'vcvars32.bat' doit être exécuté.
ZLib
Télécharger (et de l'extrait) zlib123.zip de http://www.zlib.net/
libpng
Télécharger (et de l'extrait) lpng1231.zip de http://www.libpng.org/pub/png/libpng.html
De VC++ 9.0 compilateur donne des charges de "cela peut être dangereux" mises en garde. Les ignorer;
c'est MME de sécurité de panique (le code est bon).
Pixman
Pixman est partie du Caire, mais d'un téléchargement séparé.
Télécharger (et de l'extrait) pixman-0.12.0.tar.gz de http://www.cairographics.org/releases/
Utilisation MSYS de décompresser via " tar-xvzf pixman*.tar.gz'
Les deux Pixman et le Caire ont Makefiles pour Visual C++ compilateur en ligne de commande (cl),
mais ils utilisent Gnu makefile et Unix-like outils (sed etc.). Cela signifie que nous avons
pour exécuter le faire de l'intérieur MSYS.
Ouvrez une invite de commande avec VC++ outils de ligne de commande activé (essayez 'cl /?').
Tourner à qui l'invite de commande dans un MSYS invite par 'C:\MSYS\1.0\MSYS.BAT'.
NE PAS utiliser le MSYS icône, car alors votre invite de savons maintenant de VC++.
Vous ne pouvez pas exécuter .les fichiers bat de MSYS.
Essayer que VC++ outils de travail à partir d'ici: 'cl -?'
Essayer Gnu make fonctionne aussi: le "faire-v'.
Cool.
Par défaut, c'est le MMX et les optimisations SSE2, qui nécessitent une newish
processeur x86 (Pentium 4 ou processeur Pentium M ou au-dessus: http://fi.wikipedia.org/wiki/SSE2 )
Il est tout à fait quelques mises en garde, mais il semble réussir.
Rester dans le VC++ épicé MSYS invite également le Caire à compiler.
caire
Télécharger (et de l'extrait) cairo-1.6.4.tar.gz de http://www.cairographics.org/releases/
Le Makefile.win32 ici est presque bon, mais a la Pixman chemin d'accès câblé.
Utiliser la modification du fichier Makefile-le caire.win32":
(Tout écrire sur une seule ligne, en ignorant les barres obliques inverses)
Il dit "pas de règle" src/le caire-fonctions.h'. L'utilisation de la main préparé un
(au Caire > 1.6.4 il peut y avoir un 'src/le caire-caractéristiques-win32.h' que vous pouvez
il suffit de le renommer):
Réessayer la commande make (flèche en haut s'en souvient).
cairomm (API C++)
Télécharger (et de l'extrait) cairomm-1.6.4.tar.gz de http://www.cairographics.org/releases/
Il y a un Projet Visual C++ 2005 que l'on peut utiliser (via open & mise à niveau) pour l'année 2008.
Changements qui doivent être faits:
Modifier la configuration active à "Libération"
Cairomm-1.0 propriétés (avec menu du clic droit)
Clic droit sur "cairomm-1.0" et "construction". Il y a quelques mises en garde.
La notice ne semble pas fonctionner avec la version actuelle de imlib, je me demande si ça vaut la peine reasking cette question ?
Avez-vous vérifier ici: http://cairographics.org/visualstudio/ ? Que voulez-vous dire 'Il utilise MSCVRT de l'exécution, ce qui est incompatible avec Visual C++ 2005/2008' ? Quelles sont les problèmes que vous rencontrez?
J'ai rencontré deux problèmes lors de la construction sur Windows (Visual Studio 2008, GNU Make 3.81):
Invalide "si les" constructions dans src/Makefile.des sources. Fixe que l'utilisation de
_lround
n'est pas disponible sur Windows/MSVC.Travaillé autour de l'aide
(qui est probablement une mauvaise fix)
Ces questions de côté, tout fonctionne très bien (pour les versions x86 et x86_64).
J'ai fait cela, mais je n'ai pas de prêt-instructions écrites. Mes constructions sont également plutôt minime, car je n'ai pas besoin de soutien, par exemple. PNG et SVG fichiers, je l'ai juste utilisé pour le rendu généré des graphiques de vecteur de la mémoire tampon.
Mais ce que j'ai fait a été lu par le biais de la
config.h
et d'autres fichiers pour UNIX/GNU système de construction et d'écrire ma propre adapté pour MSVC, puis créer un projet avec les fichiers source. Il prend sans doute quelques heures, au mieux, pour ce faire, mais quand vous avez terminé, il fonctionne, tout simplement 😉Edit: voyez cette page, il a un MSVC 2003 (7.1) projet de construction du caire: http://slinavlee.googlepages.com/
MSYS+chaîne de compilation gcc utilise l'ancienne MSVCRT de la bibliothèque d'exécution (désormais intégré à Windows) et Visual C++ 2005/2008 apporter leur propre. C'est un fait connu que le code ne doit pas dépendre de plusieurs environnements d'exécution. Les choses qui passent.s.un. les descripteurs de fichiers, la mémoire de pointeurs etc. seront touchés, et causera apparemment plantages aléatoires dans un tel scénario.
Je n'ai pas été bitted par cette. Puis de nouveau, je n'ai pas vraiment la cible de Windows. Mais j'ai dit assez pour ne pas même essayer la solution.
Ce qui pourrait avoir travaillé, est de relier toutes les dépendances de façon statique dans la lib (dire, Cairomm). Bibliothèques statiques n'ont pas un moteur d'exécution lié à eux, le font-ils? Mais je n'ai pas essayé. J'ai effectivement eu le VC++ construction de tous les ingrédients pour travailler, mais il a fallu des jours.
Je n'avais pas trouvé l'URL que vous donnez. Étrange en elle-même; j'ai regardé partout. Puis de nouveau, c'est pour Visual Studio 2003.NET donc deux générations de retard déjà.