Select the product you need help with
Παρουσιάζεται ένα σφάλμα LNK2005 κατά τη βιβλιοθήκη CRT και τις βιβλιοθήκες MFC είναι συνδεδεμένα με λανθασμένη σειρά σε Visual C++Αναγν. άρθρου: 148652 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο. Σε αυτήν τη σελίδαΣυμπτώματαΌταν η βιβλιοθήκη χρόνου εκτέλεσης C (CRT) και τις βιβλιοθήκες MFC (Microsoft Foundation κλάσης) συνδέονται με λανθασμένη σειρά, ενδέχεται να λάβετε ένα από τα ακόλουθα μηνύματα λάθους LNK2005: nafxcwd.lib(afxmem.obj): σφάλμα LNK2005: "void * __cdecl τελεστή νέα (ανυπόγραφο int)" (??2@YAPAXI@Z) ήδη έχει οριστεί σε LIBCMTD.lib(new.obj) nafxcwd.lib(afxmem.obj): σφάλμα LNK2005: "Ακύρωση __cdecl delete(void *) τελεστή" (??Έχει ήδη οριστεί 3@YAXPAX@Z) στο LIBCMTD.lib(dbgnew.obj) nafxcwd.lib(afxmem.obj): σφάλμα LNK2005: "void * νέο τελεστή __cdecl (ανυπόγραφο int, int, char const *, int)" (??2@YAPAXIHPBDH@Z) ήδη οριστεί σε LIBCMTD.lib(dbgnew.obj) mfcs40d.lib(dllmodul.obj): σφάλμα LNK2005: _DllMain@12 ήδη οριστεί σε MSVCRTD.LIB (dllmain.obj) mfcs42d.lib(dllmodul.obj): σφάλμα LNK2005: _DllMain@12 ήδη οριστεί σε msvcrtd.lib(DllMain.obj) ΑιτίαΟι βιβλιοθήκες CRT χρησιμοποιούν χαμηλές εξωτερικής σύνδεσης για τονέα,DeleteANDDllMainΣυναρτήσεις. Περιέχει επίσης τις βιβλιοθήκες MFCνέα,DeleteANDDllMainΣυναρτήσεις. Αυτές οι λειτουργίες απαιτούν τις βιβλιοθήκες MFC να συνδεθεί πριν από τη βιβλιοθήκη CRT είναι συνδεδεμένο. Προτεινόμενη αντιμετώπισηΥπάρχουν δύο τρόποι για να επιλύσετε αυτό το ζήτημα. Η πρώτη λύση περιλαμβάνει την επιβολή το πρόγραμμα σύνδεσης για να συνδέσετε τις βιβλιοθήκες με τη σωστή σειρά. Η δεύτερη λύση σάς δίνει τη δυνατότητα να εντοπίσει τη λειτουργική μονάδα που προκαλεί το πρόβλημα και να διορθώσετε. ΣΗΜΕΙΩΣΗΤα ακόλουθα βήματα βασίζονται σε Visual C++ 6.0. Μία λύση: Υποχρεωτική σύνδεσμος σε βιβλιοθήκες σύνδεσης στη σωστή σειρά
Δύο λύση: Εντοπίστε και διορθώστε το πρόβλημα μονάδαςΓια να προβάλετε την τρέχουσα βιβλιοθήκη σειρά σύνδεσης, ακολουθήστε τα εξής βήματα:
ΚατάστασηΑυτή η συμπεριφορά οφείλεται στη σχεδίαση. Περισσότερες πληροφορίεςΌταν χρησιμοποιείτε τις βιβλιοθήκες MFC, πρέπει να βεβαιωθείτε ότι έχουν συνδεθεί πριν από τη βιβλιοθήκη CRT είναι συνδεδεμένο. Μπορείτε να το κάνετε αυτό, εξασφαλίζοντας ότι όλα τα αρχεία στο έργο σας περιλαμβάνει Msdev\Mfc\Include\Afx.h πρώτη, είτε άμεσα (# include <afx.h>) ή έμμεσα (# include <stdafx.h>). Το Afx.h περιλαμβάνουν αρχείο επιβάλλει τη σωστή σειρά των βιβλιοθηκών, χρησιμοποιώντας την οδηγία σχόλιο (lib, "<libname>") # pragma.
</libname></stdafx.h></afx.h> Εάν το αρχείο προέλευσης έχει μια επέκταση .c, ή το αρχείο έχει επέκταση .cpp, αλλά δεν χρησιμοποιεί MFC, μπορείτε να δημιουργήσετε και να συμπεριλάβετε ένα μικρό κεφαλίδας του αρχείου (Forcelib.h) στο επάνω μέρος της λειτουργικής μονάδας. Αυτή η νέα κεφαλίδα βεβαιώνεται ότι η σειρά αναζήτησης thelibrary είναι σωστή. Το Visual C++ δεν περιέχει αυτό το αρχείο κεφαλίδας. Για να δημιουργήσετε αυτό το αρχείο, ακολουθήστε τα εξής βήματα:
Steps to Reproduce the Problem in Visual C++ .NET
ΙδιότητεςΑναγν. άρθρου: 148652 - Τελευταία αναθεώρηση: Σάββατο, 18 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0 Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
Μηχανικά μεταφρασμένο ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:148652
(http://support.microsoft.com/kb/148652/en-us/
)
| Μεταφράσεις άρθρων
|




Επιστροφή στην αρχή








