La classique erreur LNK2005

profete162
La classique erreur LNK2005

Bonjour, étant en train de travailler sur un mémoire de programmation de plug-ins, je me suis donc lancé dans la programmation c++, et je me heurte à un gros problème:

Voulant ramener mon projet en cours à mon domicile ( je travaille dans les bureaux de l'université et tout va bien) je ramene donc mon repertoire et tente de le compiler.

Je change correctement les liens et dépendances et je me retrouve face au problème suivant: une trentaine de messages d'erreur du genre:

Quote:
wienerfiltold.obj : error LNK2005: _reset_s2swiener_param déjà défini(e) dans wienerfilt.obj

J'ai déja essaye de lire plusieurs sujets à propos de ce probleme mais n'étant pas calé en programmation pure, je me demandais si quelqu'un pouvait m'expliquer clairement ce probleme et voir comment le résoudre. ( en effet les explications, même si elles sont tres nombreuses) sont un vrai charabia pour moi!

En vous remerciant

profete162

Note du modérateur pour la compréhension de la discussion:
Le présent message a été posté quasi immédiatement après le premier, alors que j'étais en train d'y répondre, ce qui explique que ma première réponse n'en tient pas compte ainsi que le caractère décousu de la discussion.

j ai cru comprendre qu'il s'agissait de problemes de bibliotheques CRT et les bibliothèques MFC mais cela n'évoque rien pour moi...

:? :? :?

Je viens de lire cette page ci http://support.microsoft.com/kb/148652 qui m a parue tres utile, mais elle decrit une démarche pour la version 6 que je n arrive pas a adapter sous ma version 2005

fredericmazue

Bonjour,

Avant tout de quoi parlons nous ?

Quote:
Je change correctement les liens

Des liens... Sommes nous sous Linux ?
Est-ce que tu voudrais parler d'éditions de liens ?
Quote:
wienerfiltold.obj

.obj... sommes nous sous windows ?

Dans tous les cas, quel est le compilateur utilisé ?

Ton erreur est une erreur émise par l'éditeur de liens. Celui-ci te dit qu'il voit la fonction reset_s2swiener_param définie une deuxième fois.
A priori ton problème est simple, tu t'es gourré en "transportant" ton projet.
Si j'en crois les noms de fichier, tu travailles sur wienerfilt.cpp, celui-ci étant la nouvelle version de wienerfiltold.cpp ainsi baptisé pour qu'on ne le confonde pas avec le premier et comme en témoigne le "old" dans le nom (mais la méthode est mauvaise la preuve).
Bon admettons que tu fasses quand même comme ça, tu dois *retirer* wienerfiltold.cpp du projet et le ranger quelque part ailleurs , sinon celui-ci va être compilé et l'édition de liens sera fait avec lui. Autrement dit, l'ancienne version et la nouvelle ensemble, donc l'éditeur de liens voit double en ce qui concerne les fonctions.

C'est ça ? Qu'est-ce que j'ai gagné ?

fredericmazue

Quote:
j ai cru comprendre qu'il s'agissait de problemes de bibliotheques CRT et les bibliothèques MFC mais cela n'évoque rien pour moi...
Je viens de lire cette page ci http://support.microsoft.com/kb/148652 qui m a parue tres utile,

En informatique une hirondelle ne fait pas le printemps.
error LNK2005 peut avoir plusieurs causes. Et en lioccurence, la page ne te concerne pas.
La cause de *ton* problème je te l'ai donné dans mon post précédent. Dans ton cas, le message d'erreur est tout ce qu'il y a de clair, si si :D

Si tu en tenais compte ? ;)