62 votes

Commentaire #pragma (lib, "xxx.lib") équivalent sous Linux?

J'ai un fichier de bibliothèque statique appelé libunp.a , je sais que je pourrais utiliser gcc -lunp xx pour lier à la bibliothèque.

Je pourrais utiliser #pragma comment(lib,"xxx.lib") pour indiquer au compilateur Microsoft c / c ++ d'inclure la bibliothèque, comment pourrais-je le faire sous linux / gcc?

Merci.

27voto

Mark Rushakoff Points 97350

Il ne semble pas y avoir aucune mention d'un quelconque équivalent pragmas dans le manuel de GCC sur pragmas.

L'une des raisons que j'ai vu pour GCC ne supportant pas la liaison dans le code source a été que, parfois, corriger la liaison repose sur le lien de commande; et il faudrait que vous assurez-vous que le lien entre la commande se passe correctement, peu importe l'ordre de la compilation. Si vous allez à aller à beaucoup de travail, vous pouvez tout aussi bien passer à l'éditeur de liens arguments sur la ligne de commande (ou autre), je suppose.

21voto

Jeffrey Walton Points 189

Les bibliothèques doivent être spécifiées lors de l'étape de liaison. Ces informations ne font tout simplement pas partie d'une unité de traduction. Une unité de traduction peut être prétraitée, compilée et assemblée même sans étape de liaison.

Le simple fait que #pragma comment(lib,"xxx.lib") trouve dans le fichier source ne signifie pas que le compilateur le consomme. En fait, il entre dans un commentaire et est ensuite utilisé par l'éditeur de liens. Pas très différent de * nix.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X