Tôi đã có ứng dụng MFC này Tôi đang làm việc trên đó cần phải có một cơ sở dữ liệu nhúng. Vì vậy, tôi đã đi săn cho một cơ sở dữ liệu "có thể nhúng" trơn tru, nhanh chóng cho nó và tình cờ gặp phải SQLite.Làm cách nào tôi có thể giải quyết "lỗi LNK2019: biểu tượng bên ngoài chưa được giải quyết"?
Tôi đã tạo một DB với nó và tôi đã tạo một dự án thư viện tĩnh với Visual Studio 2008. dự án thư viện sẽ được sử dụng trong một dự án chính khác.
Trong dự án thư viện, tôi đã tạo một lớp học DBClass
với phương thức AddFeedToDB(CFeed f)
. Dự án thư viện sử dụng các tập tin .lib
từ codeproject (cppsqlite3.lib
).
Khi biên dịch thư viện tĩnh, không có lỗi được phát hiện, nhưng khi tôi cố gắng sử dụng các tập tin dự án thư viện trong dự án chính, tôi có được những loại lỗi:
error LNK2019: unresolved external symbol "public:void __thiscall
CppSQLite3DB::close(void)" ([email protected]@@QAEXXZ
referenced in function "public: int __thiscall
CTalkingFeedsDB::AddFeedToDB(class CFeed,char const*)" (?
[email protected]@@[email protected]@[email protected]
tôi đang thiếu gì?
Điều này có trả lời cho câu hỏi đã cho không? – ST3
@ ST3: rõ ràng, nó đã giải quyết trường hợp cụ thể này. Nó không phải là một công thức chung để giải quyết các lỗi liên kết, nếu đó là những gì bạn có ý nghĩa. – xtofl
Có, việc thêm dòng này đã giải quyết vấn đề (tương tự) của tôi. Điều gì thực sự xảy ra là một số dự án cần một biểu tượng được định nghĩa trong dll khác mà không được xuất (thường là MSVS) –