Gần đây tôi đã nâng cấp lên năm 2012 từ năm 2005 (tôi khá chắc chắn) và gặp phải lỗi liên kết khi xây dựng giải pháp của mình. Tôi đã hết các ý tưởng sau hàng giờ tìm kiếm trên google và đặt xung quanh. Tôi đã thiết lập hàng chục dự án, vì vậy tôi khá chắc chắn tôi đã làm mọi thứ đúng, nhưng để công bằng, nó đã được một vài năm.Lỗi liên kết Visual Studio 2012 với các thư viện tĩnh
Vì vậy, khi thử nghiệm, tôi thiết lập dự án mới. Tôi gọi nó là Ứng dụng, một ứng dụng Windows (.exe). Tôi đã tạo ra một dự án thứ hai có tên là Core và đã gắn cờ nó là một thư viện tĩnh (.lib) trong đó là Loại Cấu hình. Cả hai đều là một phần của giải pháp. Trong Core tôi đã thêm Test.cpp và Test.h chứa một lớp nhỏ có hàm đơn giản trong đó. Sau đó, bên trong các ứng dụng Window của WinMain.cpp, tôi có WinMain() nơi tôi gọi vào lớp kiểm tra này thông qua kiểm tra CTEST; kết quả kiểm tra();
Cùng với điều này, tôi đã đặt dự án Phụ thuộc của Ứng dụng thành Lõi và cuối cùng được thêm vào Thư mục bổ sung bao gồm đường dẫn đến mã cốt lõi nơi Test.cpp/.h live.
Tôi nhận được các lỗi liên kết sau và không thể cho cuộc sống của tôi tìm ra lý do. Có ai biết những gì tôi có thể đã bỏ lỡ hoặc những gì đã thay đổi trong năm 2012 từ các phiên bản trước? Cảm ơn bạn rất nhiều trước vì sự giúp đỡ!
1>------ Build started: Project: App, Configuration: Debug Win32 ------
1>WinMain.obj : error LNK2019: unresolved external symbol "public: __thiscall CTest::CTest(void)" ([email protected]@[email protected]) referenced in function [email protected]
1>WinMain.obj : error LNK2019: unresolved external symbol "public: __thiscall CTest::~CTest(void)" ([email protected]@[email protected]) referenced in function [email protected]
1>WinMain.obj : error LNK2019: unresolved external symbol "public: int __thiscall CTest::Result(void)" ([email protected]@@QAEHXZ) referenced in function [email protected]
1>D:\Work\Test_Linker_Stupidity\App\Debug\App.exe : fatal error LNK1120: 3 unresolved externals
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ========
Cảm ơn Peter! Tôi đã ping một số người bạn trên FB tối qua và họ chỉ cho tôi theo cùng một hướng. Thật ngạc nhiên khi tôi không tìm thấy bất kỳ bài viết nào khác tham chiếu đến cùng một giải pháp, vì vậy hy vọng điều này sẽ có lợi cho người khác trong tương lai. Tôi cũng đã thử thêm các libs đầu vào, mà chắc chắn đã làm việc, nhưng ít hơn lý tưởng. Tôi thực sự quên rằng tôi đã thử giải pháp đó, một cách ngắn gọn. Cảm ơn bạn lần nữa vì đã giúp đỡ! –
Để tham khảo nhanh, đây là liên kết tôi đã được trỏ đến: http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/d69aeb0d-e5fb-41e1-98ad-9b6c7b43a3ca/# c8b80c9a-2e8d-4a06-9d0f-a63ee15a208e –
Rất hữu ích, cảm ơn Peter. – Ken