Baru-baru ini, saat mengerjakan VC 6.0, saya mengalami kesalahan yang sangat mengganggu di beberapa tempat. Terjadi kesalahan berikut: Menghubungkan... nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) sudah didefinisikan di LIBCMTD.lib( new. obj) nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) sudah ditentukan di LIBCMTD.lib(dbgdel.obj) Debug/DCap exe: kesalahan fatal LNK1169: satu atau lebih simbol yang ditentukan perkalian ditemukan Solusi: Untuk kesalahan seperti itu, jelas bahwa kedua perpustakaan tertaut menyediakan fungsi dengan nama yang sama. Namun tentu saja tidak mungkin mengabaikan LIBCMTD.lib secara langsung, karena ini adalah perpustakaan C. Alasan mengapa masalah ini terjadi adalah karena perpustakaan MFC bertentangan dengan perpustakaan C, dan urutan penautannya harus diatur, yaitu nafxcwd.lib terlebih dahulu, lalu LIBCCMTD.lib. Tapi keduanya adalah perpustakaan default, jadi bagaimana cara mengatur urutannya? Solusi: Abaikan terlebih dahulu, lalu tambahkan lagi. Artinya: Masukkan: nafxcwd.lib libcmtd.lib di Ignore Libraries pada tab Link, lalu masukkan: nafxcwd.lib libcmtd.lib di Object/library module pada tab yang sama. Dengan cara ini, urutan penambahannya menjadi urutan yang terpaksa kita atur. ?
Memperluas