2010-11-27 8 views
0

Salut J'essaie de compiler un assez gros programme Linux sur Visual Studio. Le code source est ici http://public.fh-wolfenbuettel.de/~hoeppnef/fc.html J'ai réussi à surmonter le plus de problème mais maintenant je n'ai aucune idée de ce qu'il faut faire. J'ai une erreur Impossible d'ouvrir le fichier include: 'ext/functional': Aucun fichier ou répertoire Le problème est que je ne trouve pas ce fichier d'en-tête, j'ai cherché tout le web et je n'ai pas pu le trouver. Est-il possible de compiler cette application sur stuio visuel? Ou peut-être pourriez-vous me recommandez bon IDE sur Linux (j'ai toujours programmation sur Windows) Il serait grand si IDE sur Linux a débogueur comme convinient comme débogueur de Visualcomment exécuter un programme écrit sous linux dans Visual Studio

+4

Avez-vous essayé de supprimer cette inclusion et de voir quelles erreurs obtenez-vous? Cela aidera à dire quel en-tête vous devez inclure. Notez que C++ standard a un en-tête , mais pas . –

+0

ce site mentionne un paquet utilitaire. Fais-le! –

+0

@Dark Falcom J'ai grepped la source, est inclus correctement. –

Répondre

1

tout ce portage va être non banal. Pour commencer, certaines parties du code exécutent des commandes système utilisant la syntaxe linux. Plus précisément:

if (legend) 
    system("awk '/^###/ { if ($3>1) printf(\",\"); printf(\"\\\"-\\\" title \\\"%s\\\" with lines %d\",$2,$3) }' < .gsv-3.tmp >> .gsv-0.tmp"); 
else 
    system("awk '/^###/ { if ($3>1) printf(\",\"); printf(\"\\\"-\\\" notitle with lines %d\",$3) }' < .gsv-3.tmp >> .gsv-0.tmp"); 

Cela à partir du pilote gnuplot.

Je suppose que vous n'êtes pas à la recherche d'un travail de portage majeur et que vous voulez simplement exécuter le code et modifier les choses. Cela étant le cas, le plus simple en termes de travail jusqu'à ce que les résultats soient de l'utiliser sous Linux et de s'habituer à gdb. D'autres options incluent l'essai de msys/cygwin car ceux-ci fournissent un environnement semblable à Linux mais sur Windows. Cependant, à moins que vous ne vouliez vraiment commencer à réécrire de gros morceaux de code, l'application ne fonctionnera pas entièrement.

Je devrais ajouter à ce stade la portabilité multiplateforme (et je veux dire cross Unix/NT, pas seulement parmi les unités) qui doit être conçue très soigneusement dès le début du développement d'une application.

Il existe deux autres suggestions qui peuvent demander quelques efforts pour fonctionner.

  • Retirez les pièces dont vous avez besoin. Cela ne devrait pas être trop difficile. Oui, vous devrez peut-être réécrire une partie de la logique/élaguer certaines fonctionnalités de Linux seulement, mais cela devrait être possible. Eclipse est un bon IDE pour Linux qui vous offre un support C++. Je ne l'ai jamais essayé en termes de débogage car j'ai tendance à m'en tenir à gdb mais pour Java c'est très bien. Cela pourrait valoir un coup de feu.
0

En ce qui concerne la requête IDE Linux; J'ai toujours utilisé Code :: Blocks & GDB sous Linux et jusqu'à présent aucun problème.

+0

Merci pour les réponses les gars. Je vais essayer GDB et Codeb :: Blocks et vous laisser savoir si cela fonctionne pour moi. Si j'avais des problèmes je demanderais de l'aide :) Merci encore – linuxnewbie

+0

Salut, c'est encore moi J'ai rencontré quelques problèmes de compilation du programme mentionné ci-dessus (j'utilise des blocs de code). Tout d'abord, j'ai inclus tous les fichiers l cpp h et hpp dans le projet Si je clique sur compiler et exécute j'obtiens l'erreur suivante dans le fichier CompareANalysis.HPP ligne avec l'erreur ReadDDLStream * mp_read_alg Description de l'erreur | Erreur: ISO C++ interdit de déclaration â € ReadDDLStreamâ € ™ sans type | ReadDDLStrem est une classe modèle qui ressemble à ça http://pastebin.com/GYEY9ADU Je ne sais pas pourquoi la déclaration de la variable I mentionnée ci-dessus est interdite. Est-ce que quelqu'un pourrait m'aider avec ça? – linuxnewbie

Questions connexes