2015-05-21 41 views
8

Gần đây tôi đã buộc phải nâng cấp từ Visual Studio 2015 Bản phát hành trước đến Visual Studio 2015 Release Candidate do giấy phép hết hạn.lỗi LNK2001 __imp_fprintf Visual Studio 2015 RC

Dự án của tôi trước đây đã được xây dựng tốt, tuy nhiên, hiện tại nó không được. Tôi nhận được chỉ có hai lỗi liên kết và tôi đã dành hai ngày cuối cùng cố gắng để giải quyết chúng:

1>SDL2main.lib(SDL_windows_main.obj) : error LNK2001: unresolved external symbol __imp_fprintf 
    1>SDL2main.lib(SDL_windows_main.obj) : error LNK2001: unresolved external symbol __imp___iob_func 

tôi đang liên kết để SDL2main như tôi đã nhận nó từ trang web của họ, tôi đã nhận lỗi cùng với phiên bản 2.0. 0 và phiên bản 2.0.3, vì vậy tôi không nghĩ đó là vấn đề với phiên bản cụ thể.

Tôi có các thư mục sau được chỉ định cho thư viện (lưu ý thư mục x64, tôi đang xây dựng 64 bit, tôi cũng xây dựng tăng cường với "b2 address-model = 64").

$(SolutionDir)../external/boost_1_58_0/stage/lib/ 
$(SolutionDir)../external/SDL/SDL2_ttf-2.0.12/lib/x64/ 
$(SolutionDir)../external/SDL/SDL2_mixer-2.0.0/lib/x64/ 
$(SolutionDir)../external/SDL/SDL2_image-2.0.0/lib/x64/ 
$(SolutionDir)../external/SDL/SDL2-2.0.0/lib/x64/ 
$(LibraryPath) 

Lưu ý: Tôi đã thử SDL2-2.0.3 và SDL2-2.0.0 đó là một tôi xây dựng làm việc trước đây sử dụng

Tôi không có Visual Studio 2013 cài đặt (với VS2015.) và nền tảng công cụ của tôi đã được nâng cấp lên Visual Studio 2015 (v140) nhưng tôi cũng đã cố gắng chỉ tùy chọn khác: Visual Studio 2015 - Windows XP (v140_xp)

những gì tôi đang tìm kiếm một là trả lời thẳng về cách giải quyết vấn đề này. Tôi có thể cung cấp thêm chi tiết nếu được yêu cầu.

+1

* liên kết đến SDL2main như tôi đã nhận nó từ trang web của họ * có lẽ bạn nên xây dựng nó cho mình thay vì – stijn

+0

Built SDL2 và dường như biên dịch, sẽ cần phải làm cho nó chạy mặc dù như tôi phải cập nhật một số DLL quá. – M2tM

+1

Dường như đã làm việc, nếu bạn muốn một số điểm chỉ cần đi trước và trả lời nó. :) @stijn Tôi không cần phải biên dịch SDL mixer, hình ảnh, hoặc ttf, chỉ là dự án chính SDL. – M2tM

Trả lời

2

SDL2main không được xây dựng dựa trên cùng phiên bản VS như bạn đang sử dụng và không có bất kỳ đảm bảo thực sự nào trong các phiên bản tiền phát hành/RC hoàn toàn tương thích ngược. Nếu bạn có nguồn, ý tưởng tốt là tự xây dựng mọi thứ, với các tùy chọn xây dựng tương tự - đặc biệt là các liên kết tĩnh/động và đa luồng vv - để bạn kết thúc với các thư viện hoàn toàn tương thích với nhau .

Xem thêm this report

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