J'ai des bibliothèques qui sont construites en utilisant VC++. Je veux utiliser les mêmes bibliothèques dans un programme et construire dans le compilateur gcc de cygwin. Ce scénario va-t-il fonctionner?Est-il possible d'utiliser des bibliothèques construites sous VC++ dans la construction de cygwin gcc?
Répondre
Comme C++ n'a pas de ABI normalisé, et comme Visual C++ et g ++ ont en particulier presque certainement des ABI différents, je ne pense pas que vous puissiez le faire. Votre seule vraie option est de vous limiter à C, pas C++.
Edit: Si toutes les bibliothèques que vous utilisez sont C droite (extern "C"
, en C++ termes), alors vous devriez être en mesure de partager des bibliothèques entre les compilateurs. (Sinon, vos applications Cygwin et MinGW ne peuvent pas appeler l'API Windows.) Vous devrez faire attention à faire correspondre les conventions d'appel. Par exemple, l'API Windows utilise __stdcall
au lieu de la convention d'appel C standard. Vous pouvez indiquer à GCC la convention d'appel à utiliser avec function attributes. Google et les fichiers d'en-tête de votre bibliothèque devraient avoir plus d'informations sur la convention d'appel à utiliser.
En fait, je veux seulement utiliser C-Language. C'est possible? – Thangaraj
C'est certainement plus facile avec C, mais le format de lib statique est toujours différent. –
Merci mon pote, Vraiment ce sens. Mais quand j'essaie de compiler mon programme, j'obtiens des erreurs de déclaration en double. Avez-vous la moindre idée de comment corriger cette erreur. Voici le scénario, la bibliothèque est déjà compilée. Si j'utilise cette lib dans VC environnement je suis capable de compiler le programme sans aucun problème. mais dans cygwin gcc je reçois des erreurs de déclaration en double. – Thangaraj
Probablement pas
Il y a mingw un port de GCC (et beaucoup d'outils gnu) aux fenêtres qui utilise des fenêtres standards libs - il est à peu près une baisse de remplacement pour Cygwin et devrait être plus facile de créer un lien vers gcc.
En fait, il ne s'agit pas d'un remplacement direct - Cygwin tente de créer un environnement Posix au-dessus de Windows - MinGW GCC est simplement un exécutable Windows normal qui ne fait aucune tentative de ce genre. –
@Neil Butterworth - vrai, l'utilisation de gcc dans MINGW est la même chose. Mais le code écrit pour une plate-forme Posix qui construit avec Cygwin ne construit pas nécessairement avec MINGW, bien que la plupart des choses le feront. –
- 1. Cygwin gcc - erreur asm:
- 2. Construction des bibliothèques de classes de Mono sous Windows
- 3. Intégration de Windows Python dans le programme C++ Cygwin/GCC
- 4. Bibliothèques ne trouve pas dans Cygwin
- 5. Liaison aux bibliothèques dans gcc
- 6. bibliothèques « rt » et « dl » dans Cygwin
- 7. Bibliothèques de construction sur Windows
- 8. Problème de construction gcc sur 64bit RHEL5
- 9. Cygwin GCC + WinXP cmd.exe ne fait rien
- 10. Directive VC++ #import pour GCC/G ++
- 11. Aider avec le code GCC et ObjectiveC et Cygwin
- 12. Construction de bibliothèques 64 bits
- 13. Compilation avec gcc (cygwin sur windows)
- 14. lier linux bibliothèques statiques dans windows avec cygwin
- 15. en cours d'exécution gcc en cygwin
- 16. Cygwin: Comment utiliser réellement gcc-mingw
- 17. Problème dans la construction gcc 4.5: erreur dans tools.zip
- 18. L'optimisation guidée par le profil est-elle possible avec les bibliothèques partagées dans gcc?
- 19. BJAM, construction pour vc-80 au lieu de vc7.1
- 20. Cadre pour la construction et la gestion de bibliothèques tierces
- 21. Erreur lors de la construction de arm-elf-gcc
- 22. propagation de "-g" dans les bibliothèques partagées avec gcc
- 23. Construction d'un projet avec CMake incluant d'autres bibliothèques utilisant des systèmes de construction différents
- 24. Comment surmonter l'avertissement vC++ C4003 lors de l'écriture de code commun pour gcc et vC++
- 25. Configuration Emacs + Cygwin sous windows!
- 26. argument order dans cygwin gcc 4.3 questions lors de la liaison avec glib-2.0
- 27. Démystifier gcc sous lpthreads
- 28. Construction manuelle de sous-domaine
- 29. Comment changer la casse d'un fichier dans git sous cygwin?
- 30. Utilisation de Boost avec Cygwin sous Windows
Avez-vous vraiment besoin d'utiliser cygwin? pourquoi? MinGW joue beaucoup mieux dans l'environnement Windows. –