j'ai un projet Windows en C/C++ (Borland) que je voudrai porter sur mac.
A priori, je pense que cela est faisable car le programme ne semble pas
utiliser de fonctions cruciales de windows.
Mais le projet contient des librairies dynamiques (DLL) a compiler
séparément.
Comment porter ces librairies sous xcode? faut-il importer leur code
dans le projet ou peut-on refaire des librairies semblables avec xcode ?
les indications et conseils sont les bienvenus.
merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Schmurtz
Patrice Goetghebeur wrote:
j'ai un projet Windows en C/C++ (Borland) que je voudrai porter sur mac.
A priori, je pense que cela est faisable car le programme ne semble pas utiliser de fonctions cruciales de windows.
J'espère pour toi
Mais le projet contient des librairies dynamiques (DLL) a compiler séparément. Comment porter ces librairies sous xcode? faut-il importer leur code dans le projet ou peut-on refaire des librairies semblables avec xcode ?
Oui, tu peux, il suffit de créer un nouveau projet de type "BSD Dynamic Library" ou "BSD static library".
Par ailleurs, je te conseille de compiler directement les bibliothèques avec le programme lui même (sauf si tu penses en avoir besoin pour d'autres programmes) sans créer de bibliothèque. Ça revient un peu au même que d'utiliser une bibliothèque statique : le code de la bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome et donc plus pratique à diffuser et à installer.
les indications et conseils sont les bienvenus. merci.
de rien.
-- Schmurtz
Patrice Goetghebeur wrote:
j'ai un projet Windows en C/C++ (Borland) que je voudrai porter sur mac.
A priori, je pense que cela est faisable car le programme ne semble pas
utiliser de fonctions cruciales de windows.
J'espère pour toi
Mais le projet contient des librairies dynamiques (DLL) a compiler
séparément.
Comment porter ces librairies sous xcode? faut-il importer leur code
dans le projet ou peut-on refaire des librairies semblables avec xcode ?
Oui, tu peux, il suffit de créer un nouveau projet de type "BSD Dynamic
Library" ou "BSD static library".
Par ailleurs, je te conseille de compiler directement les bibliothèques
avec le programme lui même (sauf si tu penses en avoir besoin pour
d'autres programmes) sans créer de bibliothèque. Ça revient un peu au
même que d'utiliser une bibliothèque statique : le code de la
bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome
et donc plus pratique à diffuser et à installer.
les indications et conseils sont les bienvenus.
merci.
j'ai un projet Windows en C/C++ (Borland) que je voudrai porter sur mac.
A priori, je pense que cela est faisable car le programme ne semble pas utiliser de fonctions cruciales de windows.
J'espère pour toi
Mais le projet contient des librairies dynamiques (DLL) a compiler séparément. Comment porter ces librairies sous xcode? faut-il importer leur code dans le projet ou peut-on refaire des librairies semblables avec xcode ?
Oui, tu peux, il suffit de créer un nouveau projet de type "BSD Dynamic Library" ou "BSD static library".
Par ailleurs, je te conseille de compiler directement les bibliothèques avec le programme lui même (sauf si tu penses en avoir besoin pour d'autres programmes) sans créer de bibliothèque. Ça revient un peu au même que d'utiliser une bibliothèque statique : le code de la bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome et donc plus pratique à diffuser et à installer.
les indications et conseils sont les bienvenus. merci.
de rien.
-- Schmurtz
pmanet
Schmurtz wrote:
Ça revient un peu au même que d'utiliser une bibliothèque statique : le code de la bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome et donc plus pratique à diffuser et à installer.
c'est meme hautement recommandable... je ne comprends pas cette manie de mettre des bib externe, ce qui est le plus sur moyen de rendre les choses ingerables au bout de 2-3 versions... -- Philippe Manet
Schmurtz <moi@ici.com> wrote:
Ça revient un peu au
même que d'utiliser une bibliothèque statique : le code de la
bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome
et donc plus pratique à diffuser et à installer.
c'est meme hautement recommandable... je ne comprends pas cette manie de
mettre des bib externe, ce qui est le plus sur moyen de rendre les
choses ingerables au bout de 2-3 versions...
--
Philippe Manet
pmanet@invivo.edu
Ça revient un peu au même que d'utiliser une bibliothèque statique : le code de la bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome et donc plus pratique à diffuser et à installer.
c'est meme hautement recommandable... je ne comprends pas cette manie de mettre des bib externe, ce qui est le plus sur moyen de rendre les choses ingerables au bout de 2-3 versions... -- Philippe Manet
Sebosac
bonsoir je n'ai encore jamais utilisé les blibrairie, mais il me semble que une fois compiler pour un PC, la librairie n'est plus utilisable que sur ce type de machine, acause du code executable quelle contienne, qui est je vous le rapel en Intel et sur mac on travaille en RISC, et de prime reste a sasvoir si le code st portable via les librairie.
non le mieux serai d'apres moi d'avoir sous la main les codes sources de ces librairies et de les retouché un peu dans le codes sources et de recompilé le tout en Mac.
et aprés seulement tu pourra compler et ainsi porter ton application sur MacOS
un autre avis peu étre ?
je ne connais pas xCode comment il réagit, mais il fait tout cela tout seul alors la chapeau !!
à Bientot.
manet wrote:
Schmurtz wrote:
Ça revient un peu au même que d'utiliser une bibliothèque statique : le code de la bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome et donc plus pratique à diffuser et à installer.
c'est meme hautement recommandable... je ne comprends pas cette manie de mettre des bib externe, ce qui est le plus sur moyen de rendre les choses ingerables au bout de 2-3 versions...
bonsoir
je n'ai encore jamais utilisé les blibrairie, mais il me semble que une
fois compiler pour un PC, la librairie n'est plus utilisable que sur ce
type de machine, acause du code executable quelle contienne, qui est je
vous le rapel en Intel et sur mac on travaille en RISC, et de prime
reste a sasvoir si le code st portable via les librairie.
non le mieux serai d'apres moi d'avoir sous la main les codes sources de
ces librairies et de les retouché un peu dans le codes sources et de
recompilé le tout en Mac.
et aprés seulement tu pourra compler et ainsi porter ton application sur
MacOS
un autre avis peu étre ?
je ne connais pas xCode comment il réagit, mais il fait tout cela tout
seul alors la chapeau !!
à Bientot.
manet wrote:
Schmurtz <moi@ici.com> wrote:
Ça revient un peu au
même que d'utiliser une bibliothèque statique : le code de la
bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome
et donc plus pratique à diffuser et à installer.
c'est meme hautement recommandable... je ne comprends pas cette manie de
mettre des bib externe, ce qui est le plus sur moyen de rendre les
choses ingerables au bout de 2-3 versions...
bonsoir je n'ai encore jamais utilisé les blibrairie, mais il me semble que une fois compiler pour un PC, la librairie n'est plus utilisable que sur ce type de machine, acause du code executable quelle contienne, qui est je vous le rapel en Intel et sur mac on travaille en RISC, et de prime reste a sasvoir si le code st portable via les librairie.
non le mieux serai d'apres moi d'avoir sous la main les codes sources de ces librairies et de les retouché un peu dans le codes sources et de recompilé le tout en Mac.
et aprés seulement tu pourra compler et ainsi porter ton application sur MacOS
un autre avis peu étre ?
je ne connais pas xCode comment il réagit, mais il fait tout cela tout seul alors la chapeau !!
à Bientot.
manet wrote:
Schmurtz wrote:
Ça revient un peu au même que d'utiliser une bibliothèque statique : le code de la bibilothèque est inclu dans l'exécutable, se qui le rend plus autonome et donc plus pratique à diffuser et à installer.
c'est meme hautement recommandable... je ne comprends pas cette manie de mettre des bib externe, ce qui est le plus sur moyen de rendre les choses ingerables au bout de 2-3 versions...
Hubert Figuiere
c'est meme hautement recommandable... je ne comprends pas cette manie de mettre des bib externe, ce qui est le plus sur moyen de rendre les choses ingerables au bout de 2-3 versions...
Cette manie est bien. Sous UNIX on sait gérer les version de bibliothèques contrairement à Windows. Et les Frameworks de MacOS X aussi le supportent. Le problème c'est que MacOS X n'a toujours pas de gestion de packages digne de ce nom pour gérer les-dites bibliothèques correctement.
c'est meme hautement recommandable... je ne comprends pas cette manie de
mettre des bib externe, ce qui est le plus sur moyen de rendre les
choses ingerables au bout de 2-3 versions...
Cette manie est bien. Sous UNIX on sait gérer les version de
bibliothèques contrairement à Windows. Et les Frameworks de MacOS X
aussi le supportent.
Le problème c'est que MacOS X n'a toujours pas de gestion de packages
digne de ce nom pour gérer les-dites bibliothèques correctement.
c'est meme hautement recommandable... je ne comprends pas cette manie de mettre des bib externe, ce qui est le plus sur moyen de rendre les choses ingerables au bout de 2-3 versions...
Cette manie est bien. Sous UNIX on sait gérer les version de bibliothèques contrairement à Windows. Et les Frameworks de MacOS X aussi le supportent. Le problème c'est que MacOS X n'a toujours pas de gestion de packages digne de ce nom pour gérer les-dites bibliothèques correctement.
je n'ai encore jamais utilisé les blibrairie, mais il me semble que une fois compiler pour un PC, la librairie n'est plus utilisable que sur ce type de machine, acause du code executable quelle contienne, qui est je vous le rapel en Intel et sur mac on travaille en RISC, et de prime reste a sasvoir si le code st portable via les librairie.
Tu fais un petit mélange. C'est bien à cause de la compilation en langage machine qu'un exécutable ne peut pas tourner sur processeur Intel s'il a était compilé pour PowerPC : il faut donc absolument aussi recompiler les bibliothèques.
Mais le RISC n'a rien avoir la dedans : la dénomination RISC (Reduce Instruction Set C????) n'est que le nom d'une stratégie de conception du processeur, par opposition au CISC (Complex Instruction Set), qui consiste à limiter le nombre d'instructions afin de n'avoir que des instructions qui effectue des opérations élémentaire. Les processeurs Intel actuel peuvent être considérer comme des processeurs RISC (même si il reste tout une gestion de compatibilité avec les instructions des vieux i386, en CISC).
Le problème d'incompatibilité ne vient que du fait que le jeu d'instructions du processeur n'est pas le même sur des PowerPC ou des Pentium qui eux sont compatibles avec les processeurs d'AMD (parque partageant les mêmes instructions).
non le mieux serai d'apres moi d'avoir sous la main les codes sources de ces librairies et de les retouché un peu dans le codes sources et de recompilé le tout en Mac.
Il *faut* avoir le code source de ces bibliothèques, ou alors une version compilé pour mac.
-- Schmurtz
Sebosac wrote:
je n'ai encore jamais utilisé les blibrairie, mais il me semble que une
fois compiler pour un PC, la librairie n'est plus utilisable que sur ce
type de machine, acause du code executable quelle contienne, qui est je
vous le rapel en Intel et sur mac on travaille en RISC, et de prime
reste a sasvoir si le code st portable via les librairie.
Tu fais un petit mélange. C'est bien à cause de la compilation en
langage machine qu'un exécutable ne peut pas tourner sur processeur
Intel s'il a était compilé pour PowerPC : il faut donc absolument aussi
recompiler les bibliothèques.
Mais le RISC n'a rien avoir la dedans : la dénomination RISC (Reduce
Instruction Set C????) n'est que le nom d'une stratégie de conception du
processeur, par opposition au CISC (Complex Instruction Set), qui
consiste à limiter le nombre d'instructions afin de n'avoir que des
instructions qui effectue des opérations élémentaire. Les processeurs
Intel actuel peuvent être considérer comme des processeurs RISC (même si
il reste tout une gestion de compatibilité avec les instructions des
vieux i386, en CISC).
Le problème d'incompatibilité ne vient que du fait que le jeu
d'instructions du processeur n'est pas le même sur des PowerPC ou des
Pentium qui eux sont compatibles avec les processeurs d'AMD (parque
partageant les mêmes instructions).
non le mieux serai d'apres moi d'avoir sous la main les codes sources de
ces librairies et de les retouché un peu dans le codes sources et de
recompilé le tout en Mac.
Il *faut* avoir le code source de ces bibliothèques, ou alors une
version compilé pour mac.
je n'ai encore jamais utilisé les blibrairie, mais il me semble que une fois compiler pour un PC, la librairie n'est plus utilisable que sur ce type de machine, acause du code executable quelle contienne, qui est je vous le rapel en Intel et sur mac on travaille en RISC, et de prime reste a sasvoir si le code st portable via les librairie.
Tu fais un petit mélange. C'est bien à cause de la compilation en langage machine qu'un exécutable ne peut pas tourner sur processeur Intel s'il a était compilé pour PowerPC : il faut donc absolument aussi recompiler les bibliothèques.
Mais le RISC n'a rien avoir la dedans : la dénomination RISC (Reduce Instruction Set C????) n'est que le nom d'une stratégie de conception du processeur, par opposition au CISC (Complex Instruction Set), qui consiste à limiter le nombre d'instructions afin de n'avoir que des instructions qui effectue des opérations élémentaire. Les processeurs Intel actuel peuvent être considérer comme des processeurs RISC (même si il reste tout une gestion de compatibilité avec les instructions des vieux i386, en CISC).
Le problème d'incompatibilité ne vient que du fait que le jeu d'instructions du processeur n'est pas le même sur des PowerPC ou des Pentium qui eux sont compatibles avec les processeurs d'AMD (parque partageant les mêmes instructions).
non le mieux serai d'apres moi d'avoir sous la main les codes sources de ces librairies et de les retouché un peu dans le codes sources et de recompilé le tout en Mac.
Il *faut* avoir le code source de ces bibliothèques, ou alors une version compilé pour mac.
-- Schmurtz
pmanet
Hubert Figuiere wrote:
Cette manie est bien.
non
Sous UNIX on sait gérer les version de bibliothèques contrairement à Windows.
ce n'est pas une raison ; d'abord, tu fais comme si tous les programmeurs faisaient leur métier correctement, ce qui n'est absolument pas garanti ; autant donc limiter la casse en inculquant des principes robustes : pas de librairie en dehors de l'appli. Sous OSX, on a vu des tas de machins qui allaient déposer des librairies a des endroits variés, une fois en root, une fois chez le user, etc...
avoir une application fragmentée en 25 000 fichiers répartis dans tout le système est une source d'ennui potentielle, et la loi de la tartine de confiture fait que ces ennuis finissent toujours par arriver.
et comme ça n'a aucun interet tangible, il faut éviter. Objectivement, la place disque n'est plus un problème, alors chaque dev incorpore ses librairies dans son appli au moment où il compile et on est sur que tout reste compatible jusqu'à la prochaine mise à jour.
-- Philippe Manet
Hubert Figuiere <hub@free.fr> wrote:
Cette manie est bien.
non
Sous UNIX on sait gérer les version de
bibliothèques contrairement à Windows.
ce n'est pas une raison ; d'abord, tu fais comme si tous les
programmeurs faisaient leur métier correctement, ce qui n'est absolument
pas garanti ; autant donc limiter la casse en inculquant des principes
robustes : pas de librairie en dehors de l'appli. Sous OSX, on a vu des
tas de machins qui allaient déposer des librairies a des endroits
variés, une fois en root, une fois chez le user, etc...
avoir une application fragmentée en 25 000 fichiers répartis dans tout
le système est une source d'ennui potentielle, et la loi de la tartine
de confiture fait que ces ennuis finissent toujours par arriver.
et comme ça n'a aucun interet tangible, il faut éviter. Objectivement,
la place disque n'est plus un problème, alors chaque dev incorpore ses
librairies dans son appli au moment où il compile et on est sur que tout
reste compatible jusqu'à la prochaine mise à jour.
Sous UNIX on sait gérer les version de bibliothèques contrairement à Windows.
ce n'est pas une raison ; d'abord, tu fais comme si tous les programmeurs faisaient leur métier correctement, ce qui n'est absolument pas garanti ; autant donc limiter la casse en inculquant des principes robustes : pas de librairie en dehors de l'appli. Sous OSX, on a vu des tas de machins qui allaient déposer des librairies a des endroits variés, une fois en root, une fois chez le user, etc...
avoir une application fragmentée en 25 000 fichiers répartis dans tout le système est une source d'ennui potentielle, et la loi de la tartine de confiture fait que ces ennuis finissent toujours par arriver.
et comme ça n'a aucun interet tangible, il faut éviter. Objectivement, la place disque n'est plus un problème, alors chaque dev incorpore ses librairies dans son appli au moment où il compile et on est sur que tout reste compatible jusqu'à la prochaine mise à jour.