ฉันมีปัญหาคล้ายกันเมื่อพยายามใช้การทดสอบหน่วยเพิ่มในVisual Studio 2015 (Community Edition):
ข้อผิดพลาดร้ายแรง LNK1104: libboost_unit_test_framework-vc140-mt-1_57
ฉันจึงคิดว่าจะแบ่งปันวิธีแก้ปัญหาของฉัน
คุณสามารถสร้างโครงการทดสอบหน่วยเพิ่มประสิทธิภาพได้ 2 วิธี (และวิธีนี้ใช้ได้กับทั้งสองอย่าง):
- โดยใช้Boost Unit Test Adapter
- หรือโดยการสร้างแอปพลิเคชันคอนโซล Win32 ( ขั้นตอนที่นี่ ) และแทนที่ฟังก์ชันหลักด้วยฟังก์ชันการทดสอบหน่วยเพิ่มประสิทธิภาพ ( ขั้นตอนที่นี่ )
นี่คือขั้นตอนที่ฉันทำตามเพื่อให้ทั้งสองโครงการใช้งานได้:
ขั้นแรกดาวน์โหลดเวอร์ชันบูสต์ที่ต้องการ (ตัวอย่างเช่นboost_1_57_0 ) คุณสามารถดาวน์โหลดบูสต์ด้วยไบนารีที่ถูกต้อง (คอมไพล์โดยใช้ msvc v140) หรือแยกไบนารีด้วยตัวคุณเองโดยเรียกใช้คำสั่งต่อไปนี้จากบรรทัดคำสั่ง:
- bootstrap.bat
- "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ vcvarsall.bat" x86
- bjam - สะอาด
- bjam -j4 --debug-Symbols = on --build-type = Complete toolset = msvc-14.0 threading = multi runtime-link = shared address-model = 32
โดยที่msvc-14.0ระบุว่าเราต้องการ Visual Studio 2015 เวอร์ชัน (VS 2015 = v14.0 = v140) และaddress-model = 32ระบุว่าเราต้องการแพลตฟอร์ม 32 (แต่สามารถทำได้เช่นเดียวกันสำหรับ 64 บิต)
เมื่อคุณมีไบนารีแล้วให้ไปที่ Visual Studio เลือกโครงการ Boost Unit Testing ที่คุณสร้างขึ้น ไปที่คุณสมบัติโครงการ> การกำหนดค่า (จากเมนูหลัก) และเลือกตัวเลือกต่อไปนี้:
ตั้งค่า " General> Platform Toolset " เป็น Visual Studio 2015 (v140)
รวมพา ธ ไปยังโฟลเดอร์ boost (เช่น C: \ boost_1_57_0) และพา ธ ไปยังโฟลเดอร์ย่อยที่มีไฟล์ไบนารี (เช่น C: \ boost_1_57_0 \ stage \ lib) ใน:
- " C \ C ++> ไดเรกทอรีรวมเพิ่มเติม "
- และ " Linker> ไดเรกทอรีห้องสมุดเพิ่มเติม "