2014-10-27 21 views
5

Tôi đang cố gắng liên kết với một số thư viện tăng (những thư viện cần được biên dịch) trong studio trực quan 2013 và đang gặp sự cố khi làm như vậy.liên kết để tăng cường với studio trực quan 2013

Tôi đã cài đặt các tập tin thúc đẩy bởi runing từ dòng lệnh

boostrap.bat 

b2 --toolset=msvc-12.0 --build-type=complete architecture=x86 address-model=64 stage 

để các thư viện trong C: \ boost_1_56_0/giai đoạn/lib

Trong dự án của tôi, tôi đi vào các thuộc tính cấu hình> c/C++> Chung> Thêm các thư mục và bao gồm C: \ boost_1_56_0 và bao gồm tiêu đề bằng cách sử dụng ví dụ #include<boost/serialization/vector.hpp> số những người khác

sau đó tôi đi đến thuộc tính cấu hình> mối liên kết> phụ thuộc thư viện bổ sung và bao gồm C: \ boost_1_56_0 \ sân khấu \ lib

Tôi bây giờ nhận thức được rằng thúc đẩy sử dụng tự động liên kết vì vậy tôi đảm bảo rằng không có những nỗ lực chỉ đạo liên kết đến các thư viện tăng trong thuộc tính cấu hình> mối liên kết> input> phụ thuộc thêm

Tuy nhiên tôi vẫn nhận được (nhiều) mối liên kết lỗi của các loại sau đây:

error LNK2001: unresolved external symbol "public: void __thiscall boost::archive::detail::basic_oarchive::end_preamble(void)" ([email protected][email protected]@[email protected]@@QAEXXZ) 

Tất cả r câu hỏi nâng cao tôi thấy mối quan tâm hiểu lầm về cơ sở liên kết tự động của boost, nhưng bây giờ tôi đang làm một cách rõ ràng những gì tôi nên làm (theo sự hiểu biết tốt nhất của tôi). Nó là tìm các tập tin tiêu đề ok và các tập tin thư viện là nơi tôi hướng dẫn các mối liên kết để tìm chúng.

Tôi có thể làm gì sai?

+0

Bạn đã thử quy trình tiền xử lý cho tệp và kiểm tra tệp .i để xem những gì được tạo? – BlueTrin

Trả lời

0

Có rất nhiều bài viết để liên kết tăng trong studio trực quan trong ngăn xếp tràn. Một trong số họ mà tôi thấy tối thiểu/hoàn thành là How to use Boost in Visual Studio 2010

+0

Tôi về cơ bản sau này rõ ràng và vẫn nhận được các lỗi liên kết – user3353819

0

Tôi chỉ chạy vào câu hỏi tương tự và chia sẻ ý tưởng của tôi với bạn. Bạn có thể biên dịch cả libs 32bit và 64bit để tăng tốc. Vì vậy, tôi đoán bạn có thể có hai thư mục chứa libs có cùng tên nhưng được xây dựng trong nền tảng khác nhau, như $ (BOOST154_NEW_HOME) \ lib_x64 và $ (BOOST154_NEW_HOME) \ lib_x86. Bạn nên bao gồm cả hai đường dẫn trong thuộc tính cấu hình của bạn> trình liên kết> phụ thuộc thư viện bổ sung. Mặc dù boost đang sử dụng auto_link để tìm ra lib bạn muốn sử dụng, nhưng nó vẫn còn nhầm lẫn về những lib dưới 32 bit hoặc 64 bit cần phải được nhập khẩu.

Đề xuất của tôi là bạn nên chỉ bao gồm thư mục boost boost 64bit trong thuộc tính cấu hình của bạn> trình liên kết> phụ thuộc thư viện bổ sung.

+0

Chúng ta có thể thêm một thư mục đầy đủ vào nó? Tôi nghĩ chúng ta chỉ nên thêm các tệp .lib – Sashank

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