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

C++ Discussion :

[options projet] enlever des DLL


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut [options projet] enlever des DLL
    Bonjour à tous !

    Cette fois ci, ce n'est pas un "grave" problème technique!
    Mon projet C++ contient deux librairies externes, indiquées dans les options du link... TOUT SE PASSE BIEN ! Ca compile, et j'ajouterai même : ça fonctionne!

    Cependant, je me rend compte que pendant l'éxecution, VC++ m'indique qu'il charge des DLL externes depuis le répertoire de Matlab!
    Ca ne m'arrange pas vraiment, parce que si je code tout en c++, c'était pour m'affranchir de Matlab!

    Ainsi, quand je passe mon programme à un collègue qui ne possède pas Matlab sur son poste : BOUM ! Un joli message d'erreur apparait, disant que "Matlab.exe n'est pas présent sur l'ordinateur"... Pas très portable tout ça!

    Pourtant je ne pense pas avoir besoin de Matlab...

    Comment puis-je "virer" toutes ces librairies inutiles? Y'en a un paquet, et je me vois mal toutes les taper dans la section "libraries ignorées"!

    Merci de votre aide !

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Les bibliothèques ont besoin de Matlab ? C'est une traduction de code Matlab ? A priori, tu ne pourras pas distribuer comme ça les bibliothèques de Matlab

  3. #3
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Ben oui, je comprend pas trop... La fenetre de sortie de VC++.net m'indique qu'il charge des librairies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    'IR.exe'*: Chargé 'C:\Documents and Settings\GD280706\Bureau\analyse IR2.2\IR\Release\IR.exe', Les symboles ont été chargés.
    'IR.exe'*: Chargé 'C:\WINNT\system32\NTDLL.DLL', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\USER32.DLL', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\GDI32.DLL', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\KERNEL32.DLL', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\msvcr71.dll', Les symboles ont été chargés.
    'IR.exe'*: Chargé 'C:\WINNT\system32\msvcp71.dll', Les symboles ont été chargés.
    'IR.exe'*: Chargé 'C:\WINNT\system32\mscoree.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\WINNT\system32\ADVAPI32.DLL', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\rpcrt4.dll', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\Documents and Settings\GD280706\Bureau\analyse IR2.2\IR\tslib32.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\WINNT\system32\wsock32.dll', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\ws2_32.dll', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\msvcrt.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\WINNT\system32\ws2help.dll', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\Documents and Settings\GD280706\Bureau\analyse IR2.2\IR\tsrir_c.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\matlab.exe', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\WINNT\system32\OLE32.DLL', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\version.dll', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\WINNT\system32\lz32.dll', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\mwoles05.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\WINNT\system32\OLEAUT32.DLL', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\libut.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\WINNT\system32\IMAGEHLP.DLL', Impossible de trouver ou d'ouvrir un fichier DBG requis.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\libmx.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\libmex.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\libmwservices.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\mpath.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\m_interpreter.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\libmat.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\mlib.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\m_pcodeio.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\m_ir.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\m_parser.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\m_pcodegen.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\m_dispatcher.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\hg.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\numerics.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\libmwlapack.dll', Aucun symbole n'a été chargé.
    'IR.exe'*: Chargé 'C:\MATLAB6p5\bin\win32\libmwfftw.dll', Aucun symbole n'a été chargé.
    Il y en a un paquet, et encore j'ai pas tout mis !
    Tu penses que c'est les librairies qu'un collègue m'a filé qui en ont besoin???
    Parce que moi, j'y fais référence nul part dans mes sources !

    Merci.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu peux essayer de voir ça en augmentant la "verbosity" dans les propriétés du linker pour voir quel module fait ou non référence aux fonctions de matlab...

    Tu vas avoir à faire de l'épluchage de log, mais ça peut être une solution...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Ca, c'est pour le débuggage, très peu de libs ont les infos de débugagge - normal, sinon on pourrait savoir comment elles tournent... -. Si tu arrives à ce point, c'est que ton exécutable est créé, et enlever les dépendances à Matlab, c'est pas là.
    La question est quelles sont les bibliothèques ou fonctions de ton code qui ont besoin de Matlab ?

  6. #6
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Citation Envoyé par Miles
    La question est quelles sont les bibliothèques ou fonctions de ton code qui ont besoin de Matlab ?
    Fonctions : aucunes, ça c'est certain !
    Bibliothèques : pas celles que j'utilise couramment. Celà dit, il y en a deux (celle que mon collègue m'a filé qui m'attire que des ennuis ) dont je sais pas du tout comment elles ont été programmées...

    A mon avis, ça doit venir de là... Mais je vois pas comment du C peut interfacer avec du Matlab comme ça au niveau des libraries !!!
    J'ai déjà fait appel à du C depuis Matlab (via des MEX-files), mais là, du C qui a besoin de Matlab je trouve ça plutôt bizarre...

  7. #7
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Ca peut être ton module tsrir_c.dll qui utilise matlab.exe

    Utilise depends.exe pour vérifier.

  8. #8
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Citation Envoyé par Mayti4
    Ca peut être ton module tsrir_c.dll qui utilise matlab.exe

    Utilise depends.exe pour vérifier.
    Je pense que tu as vu juste... Ca serait le plus logique!
    Comment ça marche depends.exe?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Best practice - Organisation du projet/Emplacement des dll/TFS
    Par yop solo dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/07/2015, 10h16
  2. créer un projet avec des .dll
    Par valgoku dans le forum Visual Studio
    Réponses: 3
    Dernier message: 18/11/2010, 21h43
  3. Comment utiliser des dll C++ dans un projet C# ?
    Par kreitech dans le forum C#
    Réponses: 5
    Dernier message: 20/02/2007, 16h49
  4. Option du projet / roles des sources débogages
    Par DELPHDEDU dans le forum Delphi
    Réponses: 1
    Dernier message: 20/01/2007, 16h11
  5. [C#] Comment utiliser des dll win 32 dans un projet .NET
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 31/05/2005, 13h45

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