มีไลบรารี Boost 64 บิตสำหรับ VS2008 หรือไม่? หรือว่าต้องรวบรวมเอง? ถ้าอย่างนั้นใครมีประสบการณ์กับมันบ้าง?
มีไลบรารี Boost 64 บิตสำหรับ VS2008 หรือไม่? หรือว่าต้องรวบรวมเอง? ถ้าอย่างนั้นใครมีประสบการณ์กับมันบ้าง?
คำตอบ:
เป็นคำตอบสั้น ๆ :
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
ตามคำตอบที่ยาวกว่านี่คือบันทึกการสร้างของฉันสำหรับการมีไลบรารีบูสต์ VS .NET 2008 32 บิตและ 64 บิตในลำดับชั้นเดียวกัน (ซึ่งฉันสงสัยว่าเป็นกรณีการใช้งานทั่วไป):
สร้างไบนารี win32
bjam --toolset=msvc-9.0 --build-type=complete stage
สร้างไดเร็กทอรี lib \ win32
สร้างไบนารี x64
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
สร้างไดเร็กทอรี lib \ x64
ฉันมีไบนารีที่สร้างขึ้นบนไซต์ของฉัน: http://boost.teeks99.com
แก้ไข 2013/05/13: My builds เป็นตอนนี้ใช้ได้ (ราคาเริ่มต้นที่ 1.53) ได้โดยตรงจากหน้า SourceForge
UPDATE (19.09.2017): เพิ่มบรรทัดสคริปต์สำหรับ VS2017 โปรดทราบว่า Boost รองรับคอมไพเลอร์ VS2017 จากเวอร์ชันที่ระบุข้างต้น ฉันใช้เวอร์ชันล่าสุด (1.65.1)
ฉันใช้สคริปต์นี้เพื่อสร้างการเพิ่มสำหรับแพลตฟอร์ม x64 และ x86, lib และ dll, ดีบักและรีลีสสำหรับ VS2017, VS2015 และ VS2013:
md stage\VS2017\x64
md stage\VS2015\x64
md stage\VS2013\x64
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release
md stage\VS2017\win32
md stage\VS2015\win32
md stage\VS2013\win32
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release
pause
คุณสามารถสร้าง.bat
ไฟล์และเรียกใช้เพื่อสร้างไบนารีเพิ่มของคุณ
ในขณะนี้ไบนารี 64 บิตที่จัดทำโดย teeks99 (ดูคำตอบอื่น ๆ ) ดูเหมือนจะเป็นไบนารี 64 บิตที่ว่างเท่านั้น ในขณะที่ BoostPro ยังให้ไบนารี 64 บิต แต่เมื่อถึง 1.51 พวกเขาดูเหมือนจะไม่อยู่หรือทำธุรกิจ
ดังนั้นเราจึงกลับไปที่สองตัวเลือกอีกครั้ง: ไบนารี teeks99 หรือสร้างของคุณเอง
ข้อมูลส่วนใหญ่ที่ฉันต้องการในการสร้างของตัวเองอยู่ที่นี่: https://stackoverflow.com/a/2655683/613288
สิ่งเดียวที่ขาดหายไปคือการทำให้สิ่งนี้ทำงานกับ Visual Studio 2010 Express เวอร์ชันฟรี ฉันพบว่าส่วนหนึ่งหายไปที่อื่นและหลังจากปรับแต่งบางอย่างแล้วสูตรสุดท้ายที่ฉันใช้สำหรับการสร้างไบนารีบูสต์ 1.49.0 ของฉันคือ:
เริ่ม Visual C ++ และจากเมนูเครื่องมือให้เริ่มพรอมต์คำสั่ง Visual Studio
ในหน้าต่างคอนโซลให้ดำเนินการดังต่อไปนี้:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /Release /x64
จากนั้นในไดเรกทอรีเพิ่ม:
bootstrap.bat
b2 -a -sBZIP2_SOURCE="C:\bzip2-1.0.6" -sZLIB_SOURCE="C:\zlib-1.2.5" --toolset=msvc-10.0 architecture=x86 address-model=64 link=static --with-date_time --with-filesystem --with-serialization --with-test --with-thread --with-system --with-regex --with-iostreams stage
คำสั่งสุดท้ายได้รับการปรับแต่งสำหรับสิ่งที่ฉันต้องการ (เฉพาะไลบรารีที่เชื่อมโยงแบบคงที่)
ฉันสร้างสคริปต์เล็ก ๆ ให้ฉันซึ่งรวบรวมพวกเขาทั้งหมดสำหรับ VS2005 และ VS2008:
md stage\lib\win32
md stage\lib\x64
REM Visual Studio 2005
bjam --toolset=msvc-8.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\
bjam --toolset=msvc-8.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\
REM Visual Studio 2008
bjam --toolset=msvc-9.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\