2012-03-09 32 views
6

tôi đang liên kết ĐẤT trong thư viện của tôi, nhưng khi tôi biên soạn tôi nhận được các lỗi này mối liên kết:ĐẤT không liên kết một cách chính xác

 
1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library 
1>libSOIL.lib(stb_image_aug.o) : error LNK2019: unresolved external symbol __alloca referenced in function _stbi_zlib_decode_noheader_buffer 
1>libSOIL.lib(image_helper.o) : error LNK2019: unresolved external symbol _sqrtf referenced in function _RGBE_to_RGBdivA2 

tôi đã liên kết libSOIL.lib trong sự phụ thuộc bổ sung.

Trả lời

5

Lỗi biểu tượng chưa được giải quyết, lỗi LNK2019, là từ các biểu tượng trong libgcc.lib hoặc triển khai thư viện chuẩn khác (xem here cho tùy chọn Microsoft) không được liên kết. alloca và sqrtf là cả hai chức năng thư viện chuẩn.

Nếu bạn không liên kết với thư viện chuẩn, sau đó liên kết với một thư viện bằng cách thêm nó vào đường dẫn thư viện trình liên kết của bạn.

Từ cảnh báo cảnh báo ở trên LNK4098, có nhiều khả năng bạn đang liên kết đến thư viện chuẩn nhưng trình liên kết không biết tải trên đó.

Đề nghị lập luận mối liên kết để thực hiện vấn đề này đi (nói mối liên kết để chọn một thư viện tiêu chuẩn cụ thể) là/NODEFAULTLIB: "MSVCRT"/NODEFAULTLIB: "LIBCMT

Xem các liên kết sau đây để biết thêm thông tin và các nguồn lực.

+0

Hmm, thêm/NODEFAULTLIB: MSVCRT đã khắc phục cảnh báo nhưng các lỗi giống nhau vẫn còn đó. – Bumrang

7

Đã sửa lỗi.

Mặc dù tôi đang sử dụng VC2010, tôi đã xây dựng các thư viện VC8. Sau đó tôi thêm SOIL.lib thay vì libSOIL.lib. Lỗi đã biến mất.

+0

Tôi đã sử dụng VC2012 (gọi là VC11) và xây dựng giải pháp VC9 làm việc quá. –

+0

Tôi đã sử dụng VC2013 và xây dựng giải pháp VC8 làm việc – PALEN

4

Tôi đã gặp sự cố tương tự (sử dụng Visual Studio 2013 với bộ công cụ vc120), tôi đã giải quyết nó tải xuống thư viện SOIL từ trang web chính thức và thay vì đổi tên libSOIL.a thành SOIL.lib Tôi chạy giải pháp VC8 bên trong mã zip chính thức (tạo bạn SOIL.lib) ´ sau đó tôi đã sao chép nó vào dự án của tôi và các vấn đề đã biến mất.

+1

Điều này cũng làm việc cho tôi. VC8 thay vì VC9 cho VS 2013 – PALEN

Các vấn đề liên quan