Tôi gettings những loại lỗi trong một dự án MFC VS6 trong khi liên kết ứng dụng:thế nào để tránh "lỗi đã được xác định" trong C++
msvcrt.lib(MSVCRT.dll) : error LNK2005: _atoi already defined in LIBC.lib(atox.obj)
tôi biết ý nghĩa của nó (một chức năng tồn tại trong 2 thư viện khác nhau); để giải quyết nó, tôi phải loại trừ một trong 2 thư viện (msvcrt.lib
hoặc libc.lib
).
Nhưng nếu tôi làm điều này thì có tất cả các loại lỗi bên ngoài chưa được giải quyết. Vì vậy, tôi muốn tiếp tục sử dụng cả hai thư viện.
Có cách nào để nói cho trình liên kết mà tôi muốn sử dụng chức năng _atoi
trong libc.lib
và không ở trong msvcrt.lib
(hoặc cách khác xung quanh)?
Bất kỳ trợ giúp hoặc hướng nào đều tuyệt vời.
Chỉ có một vấn đề tương tự, vì tôi không quen thuộc với thế giới không được quản lý, bạn có thể cần các phiên bản khác nhau của thư viện của bên thứ ba tùy thuộc vào thư viện thời gian chạy của bạn và thư viện đó sử dụng. Tôi đã tải xuống một lib của bên thứ 3 và cố gắng liên kết nó với một dự án trong VC++ 2005. Đã tắt thư viện được sử dụng và phiên bản cũ hơn của thư viện thời gian chạy (a?) - LIBCP.LIB. May mắn thay các thư viện bên thứ 3 đã có sẵn nguồn của nó vì vậy tôi đã có thể comple nó với thư viện thời gian chạy VC2005. Tự hỏi làm thế nào tôi sẽ giải quyết điều này mà không có nguồn. – axk