Rechercher : dans
Par :

Visual C++ - Erreur C1083

Dernière réponse le 2 nov 2007 à 00:59:08 Cécile, le 22 fév 2007 à 12:53:06 
 Signaler ce message aux modérateurs

Bonjour tout le monde !

Je suis en train de faire une DLL sous Visual C++. J'ai donc créer mon fichier .c via Win32 DLL. Cette dernière appelle une librairie "commonDLL.h" qui appelle elle-même d'autres librairies.
Toutes ces librairies sont utilisées par un autre projet. Je me suis donc inspirée de son fichier .c pour créer le mien.

Comme eux, j'ai mis au début de mon fichier .c, un #include "commonDLL.h". Quand je compile, j'ai une erreur C1083: cannot open file "commonDLL.h". Quelle manipulation dois-je faire pour aller chercher correctement mes librairies.

PS: dans les autres projets, un fichier .rc est créé. Ne connaissant pas ce type de fichier, le problème pourrait-il venir de là?

Merci pour votre aide !!

Configuration: Windows 2000
Internet Explorer 6.0

Meilleures réponses pour « Visual C++ Erreur C1083 » dans :
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.

1

Jeff, le 22 fév 2007 à 12:57:09

Une première piste : http://support.microsoft.com/kb/461372/fr Jeff - Wm@Ccm -

Répondre à Jeff

2

Cécile, le 22 fév 2007 à 13:00:40

J'ai vérifié tout à l'heure et c'est pas le cas.

Répondre à Cécile

3

andejen, le 22 fév 2007 à 13:04:33

T'as bien mis les differrentes librairies dans le repertoire de TON projet?
parceque meme si tu les load avec des #include au debut de ton fichier source, VC++ n'accepte de les lire que si elles sont dans le bon repertoire.

Répondre à andejen

4

Cécile, le 22 fév 2007 à 13:18:54

J'ai plus d'une dizaine de librairie. J'en ai donc mis quelques unes dans mon projet pour vérifier si c'était ça (les librairies apparaissent alors dans le HEADER de mon projet). Jusque là tout va bien.

Mais ce que je ne comprend pas c'est pourquoi dans un autre projet qui appelle ces mêmes librairies tout ce compile correctement alors qu'aucune d'elles n'est physiquement présente dans le répertoire de cet autre projet ????

Y aurait-il une fonction pour créer des dépendances (liens) que je ne connais pas ??

Répondre à Cécile

5

Stupeflip, le 22 fév 2007 à 13:31:34

Salut,

Vérifie qu'il n'y a pas plusieurs include de CommonDLL.h dans tes autres .h. Cela peut provoquer l'erreur 1083 (pas seulement le fichier manquant).

Répondre à Stupeflip

6

Cécile, le 22 fév 2007 à 13:42:20

Ce n'est pas non plus le cas. Cette erreur demeure un mystère pour moi .

Répondre à Cécile

7

Stupeflip, le 22 fév 2007 à 13:45:24

C'est un projet MFC ?

Répondre à Stupeflip

8

Cécile, le 22 fév 2007 à 13:49:04

J'ai cliqué sur Win32 DLL dans l'onglet "Projects".

Répondre à Cécile

9

Stupeflip, le 22 fév 2007 à 13:51:29

Le fichier dont tu t'es inspirée avait-il activé /clr ?

Répondre à Stupeflip

10

Cécile, le 22 fév 2007 à 14:00:41

/clr ???

Répondre à Cécile

11

Stupeflip, le 22 fév 2007 à 14:02:35

Common Language Runtime Compilation

Répondre à Stupeflip

12

andejen, le 22 fév 2007 à 14:05:53

Sinon essaye de ne pas inclure ton commonDLL.h et de mettre au debut de ton programme des
#pragma comment(dll,"la_dll-voulue.dll")
par contre pour peu que certaines dll ne soient pas communes et si je ne me trompe pas, il faut que visual sache dans quel repertoire sont tes DLL.
ca doit etre dans tools>options>directories et dans la liste "show directories for" tu selectionnes library files, et tu modifie avec les bons repertoires correspondants

Répondre à andejen

13

cecile, le 22 fév 2007 à 15:40:39

J'ai enregistré toutes mes librairies dans mon projet et j'ai vérifié les directories. Mon programme .c se compile bien, je n'ai plus l'erreur C1083. Par contre, quand je BUILD j'ai l'erreur LNK2001. Je crois que c'est une déclaration de variable le problème.

Quelqu'un aurait-il des infos supplémentaires à me fournir ?

Répondre à cecile

14

Stupeflip, le 23 fév 2007 à 09:46:06

C'est maintenant une erreur de linkage, assure toi de bien ajouter les dll nécessaires dans les options de link.

Ou alors des #pragma comment dans le code comme le dit notre très cher ami Andejen supporteur du PSG (ouh la honte) !

Répondre à Stupeflip

15

cécile, le 23 fév 2007 à 14:24:21

Bonjour à tous.

Je vous remercie pour votre aide. J'ai enfin résolu mon problème.

La solution était la suivante pour ceux que ça interresse:

Bref rappel du pb: aller chercher correctement des fichiers.h et .lib correctement (éventuellement créer dans d'autres projets mais appartenant au même workspace sous Visual C++).

Solution:
1/ Sélectionner votre projet
2/ Faire Project/Dependencies puis sélectionner un autre projet (celui contenant les fichiers qui vous interessent)
3/ Cliquer droit sur le nom de votre projet dans le workspace puis "setting"
4/ Enfin paramètrer correctement les onglets Link et Resource

Répondre à cécile

16

 Include, le 2 nov 2007 à 00:59:08

Bonjour,
et dans vc++ 2005 français(dependencies, workspace, setting, link, ressources) ça donne quoi?

Répondre à Include