2011-09-19 3 views
0

J'ai deux bibliothèques partageant une variable externe. En Liba J'ai la variable déclarée dans l'en-tête en tant que tel:problèmes externes de liaison dans Microsoft Visual Studio

extern int Gbl; 

alors je le définir à nouveau dans la source comme:

int Gbl; 

prochaine je mets Gbl = 1;

Dans libB, j'inclus le fichier d'en-tête de libA. Et printf Gbl, s'attendant à obtenir 1 ici.

mais malheureusement je ne peux même pas compiler ce que je reçois l'erreur:

undefined symbol '_Gbl' referenced in .... 

On m'a dit que cela est une erreur qui relie, mais je ne suis pas sûr ce qu'il faut faire d'ici

+0

Il s'agit d'une erreur de lien, vous devez lier libA et libB. Linker, Input, Dépendances supplémentaires. –

+0

@HansPassant Je ne sais pas trop comment y arriver. J'utilise le compilateur de studios visuels via les labwindows – mugetsu

+0

Utilisez les canaux de support du fournisseur: http://sine.ni.com/psp/app/doc/p/id/psp-272 –

Répondre

0

Vous devez compiler la libB avec libA incluse. Ceci est fait en ajoutant -llibA à la ligne de compilation. Si vous n'avez pas d'options de bibliothèque correctement définies, vous devez ajouter -lpath_to_library

+0

J'ai juste essayé l'équivalent de cela dans labwindows et ça me donnait toujours la même erreur – mugetsu

Questions connexes