2010-04-25 5 views
0

J'ai téléchargé le developerkit de fastcgi.com. Le kit contient un dossier d'exemples contenant quelques fichiers sources, leurs fichiers finaux, exécutables et compilés. Si je mets ces fichiers compilés dans un dossier cgi-bin sur mon serveur apache (mon macbook pro), ajoutez l'extension fcgi, et allez à l'url où ils se trouvent, ils fonctionnent parfaitement.compilez c pour fastcgi

J'ai un fichier de test c soruce que je veux compiler vers un script fastcgi. Le fichier source imprime simplement Bonjour monde.

Est-ce que quelqu'un a une bonne référence ou une explication facile sur la façon de compiler le fichier source dans un fichier fcgi exécutable? Je ne comprends pas les docs ...

+2

Quelle partie? Ecrire la boucle d'événement? Invoquer le compilateur? –

+0

Je veux compiler mon code c dans mon fichier c dans un exécutable comme ils le font dans les exemples. Quelque chose qui peut être exécuté. – joels

+0

Dans quel exemple? –

Répondre

2

C'est une erreur de penser à votre programme en tant que script. Cela étant dit, une application FastCGI a besoin de deux choses:

  1. Un serveur web qui est capable de transmettre des demandes à (habituellement sur le port 9000)
  2. La bibliothèque FastCGI

On peut supposer que vous avez FastCGI installé (y compris les objets partagés et les en-têtes) et ont écrit quelque chose qui l'utilise. Vous devrez ensuite le compiler via:

gcc -Wall -o myfastcgiapp -lfcgi myfastcgiapp.c 

Vous devrez ensuite configurer votre serveur Web pour le démarrer et lui transmettre des requêtes. Je suis assez sûr, à partir des informations limitées que vous avez fournies, que vous avez oublié de dire à l'éditeur de liens que vous utilisiez des symboles de FastCGI (d'où -Lfcgi).

Il se peut également que vous n'ayez pas installé la bibliothèque correctement.

Plus d'informations telles que:

  1. Web serveur utilisé
  2. erreurs de compilation (le cas échéant)
  3. Environnement (OS)
  4. Source à votre application (autant que possible)

... aiderait vraiment à obtenir de meilleures réponses. Le thread discussing the same under NginX suivant pourrait vous aider. S'il vous plaît, pensez à réviser votre question, même si cela résout votre problème.

+0

Grand, je cherchais: gcc -Wall -o myfastcgiapp -Lfcgi myfastcgiapp.c Quand je fais ce que je reçois "ld: avertissement: répertoire 'fcgi' suivant -L not found". On dirait que je n'ai pas la bibliothèque installée correctement. – joels

+0

@joels - avez-vous installé fastcgi depuis la source, ou via votre gestionnaire de paquets? –

+0

Devrait être un 'l' minuscule pour lier dans les bibliothèques. – zdav