IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[vs] Code c++ qui marche que en 32Bits et pas en 64


Sujet :

Windows

  1. #1
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut [vs] Code c++ qui marche que en 32Bits et pas en 64
    Bonjour, voila mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, 0, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, 0, &ultracopier_regkey, 0);
    	DWORD kSize=254;
    	if(RegQueryValueEx(ultracopier_regkey,TEXT("ultracopier"),NULL,NULL,(LPBYTE)0,&kSize) == ERROR_SUCCESS)
    		checkBoxStart->setChecked(true);
    	RegCloseKey(ultracopier_regkey);
    Des que je fait des accéss au registre j'ai l'erreur en compilant en 64Bits, par contre en 32Bits mon code marche trés bien.
    Voila l'erreur:
    Generating Code...
    link /LIBPATH:"c:\Qt\lib" /NOLOGO /DEBUG /MANIFEST /MANIFESTFILE:"debug\ultracopier.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:debug\ultracopier.exe @C:\Users\user\AppData\Local\Temp\nm9F39.tmp
    main.obj : error LNK2019: unresolved external symbol __imp_RegCloseKey referenced in function "bool __cdecl getSystemCopyCatched(void)" (?getSystemCopyCatched@@YA_NXZ)
    Options.obj : error LNK2001: unresolved external symbol __imp_RegCloseKey
    main.obj : error LNK2019: unresolved external symbol __imp_RegQueryValueExW referenced in function "bool __cdecl getSystemCopyCatched(void)" (?getSystemCopyCatched@@YA_NXZ)
    Options.obj : error LNK2001: unresolved external symbol __imp_RegQueryValueExW
    main.obj : error LNK2019: unresolved external symbol __imp_RegCreateKeyExW referenced in function "bool __cdecl getSystemCopyCatched(void)" (?getSystemCopyCatched@@YA_NXZ)
    Options.obj : error LNK2001: unresolved external symbol __imp_RegCreateKeyExW
    main.obj : error LNK2019: unresolved external symbol __imp_RegSetValueExW referenced in function "bool __cdecl newRegQuery(struct HKEY__ *,unsigned short const *,unsigned short const *,class QString const &)" (?newRegQuery@@YA_NPEAUHKEY__@@
    PEBG1AEBVQString@@@Z)
    Options.obj : error LNK2001: unresolved external symbol __imp_RegSetValueExW
    Options.obj : error LNK2019: unresolved external symbol __imp_RegDeleteValueW referenced in function "private: void __cdecl optionsDialog::apply(void)" (?apply@optionsDialog@@AEAAXXZ)
    debug\ultracopier.exe : fatal error LNK1120: 5 unresolved externals
    NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 9.0\
    VC\BIN\amd64\link.EXE"' : return code '0x460'
    Stop.
    NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 9.0\
    VC\BIN\amd64\nmake.exe"' : return code '0x2'
    Stop.
    D'où découle plusieurs question:
    - Quel lib linker?
    - Comment grâce à des macro pre-processeur voir si on est en 64Bits sous visual?

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Citation Envoyé par alpha_one_x86 Voir le message
    - Comment grâce à des macro pre-processeur voir si on est en 64Bits sous visual?

  3. #3
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Mais ces erreurs semblent simplement vouloir dire que le projet n'est pas lié à advapi32.lib (ou équivalent) quand tu compiles en 64 bits...

Discussions similaires

  1. [AC-2007] problème de code qui marche sur un pc mais pas tous
    Par rominous41 dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/06/2011, 09h07
  2. Réponses: 3
    Dernier message: 21/03/2011, 02h28
  3. Code qui marche sur un poste mais pas sur un autre
    Par TOSCAN dans le forum Langage
    Réponses: 5
    Dernier message: 11/06/2008, 21h09
  4. Réponses: 5
    Dernier message: 02/10/2006, 19h24
  5. Réponses: 2
    Dernier message: 22/09/2005, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo