2010-07-24 3 views
0

J'utilise MS Visual Studio 2008 édition professionnelle sous Windows 7 64bit. J'ai installé les compilateurs 64 bits avec les standards 32 bits.Compilation de la cible Windows 64 bits, problèmes avec static .libs

Je l'ai utilisé http://argtable.sourceforge.net/ pour Windows programmes 32bit avant

Je n'ai pas de problèmes de construction ma demande (qui est juste écrit en C89 pur et simple) à utiliser argtable2.lib pour une cible de win32, mais quand je mis la "Plate-forme de solution active" à "x64", je reçois un tas d'erreurs au cours de la phase de liaison concernant les symboles externes non résolus.

erreur LNK2019: symbole externe non résolu arg_lit0 référencé dans la fonction principale LNK2019 d'erreur : symbole externe non résolu arg_strn référencé dans la fonction principale LNK2019 d'erreur : symbole externe non résolu arg_end référencé dans la fonction principale ...

se terminant par " erreur fatale LNK1120: 9 externes non résolus ".

J'ai repéré quelques options telles que l'option de l'éditeur de liens "/ MACHINE: X64", mais je ne sais pas comment l'utiliser ou si je devrais même toucher cette option.

I pense Je dois faire quelque chose impliquant la construction d'une version compatible 64bit de argtable2.lib, mais je ne sais pas comment faire cela. Des idées?

Répondre

3

Les fichiers .lib ne sont pas agnostiques. Les fichiers lib 32 et 64 bits sont séparés. Vous devez donc construire une version 64 bits (pas 64 bits) de argtable2.lib.

+0

Comment est-ce que je ferais cela? – Nemykal

+1

Recompilation. Le reste dépend de la façon dont le projet est compilé en premier lieu et de sa compatibilité. En général, je contacterais les responsables du projet. – TomTom

0

J'ai moi-même trouvé la solution pour que tout le monde sache si quelqu'un a le même problème. Au lieu d'utiliser nmake pour créer la bibliothèque statique, j'ai créé un nouveau projet vC++ 2008, ajouté tous les arguments .c et arg., Nécessaires, défini le type de projet sur Static Lib et compilé. Travaillé très bien réglé sur 64 bits avec l'éditeur de liens défini sur/MACHINE: X64. Maintenant, mon application est entièrement 64bit.

Questions connexes