Thực tế có một chút thông tin về những người đang cố gắng xây dựng thư viện Boost cho Windows CE, nhưng không ai báo cáo thành công hoặc thậm chí là các bước cần thiết để làm như vậy. Với hai phiên bản mới nhất (1.46 và 1.47), một trong các trình biên dịch thử nghiệm của họ là "Visual C++, Windows Mobile 5, với STLport: 9.0", điều này có nghĩa là thành công đã đạt được (như một lưu ý phụ trình biên dịch được đưa ra là thú vị vì STLPort mới nhất mà tôi có thể tải xuống là 5.2.1. Tôi có thiếu gì đó không?).Biên dịch tăng 1,47 cho Windows CE
Bài đăng tôi đã tìm thấy có vẻ xoay quanh tệp chứa ở đây: http://www.boost.org/development/tests/trunk/VeecoFTC.html. Vấn đề là, tôi thành thật không biết cách sử dụng nó. Tôi đã có thể xây dựng STLPort cho Windows CE, nhưng theo hướng dẫn Boost Getting Started (http://www.boost.org/doc/libs/1_47_0/more/getting_started/windows.html) tôi bị kẹt ở giai đoạn Boost.Build. Tôi có cần cấu hình tại thời điểm này để biên dịch cho CE không? Tôi chỉ không biết những bước cần thực hiện và sẽ đánh giá cao một số hướng dẫn.
Đây là những bước tôi đã theo cho đến nay:
- Compile STLPort cho Windows CE (tài liệu là khá tốt, điều này đã không chứng minh quá khó khăn).
- Cài đặt Boost.Build theo Hướng dẫn bắt đầu. Tôi là một chút run rẩy trên bước này, kể từ khi các tập tin bootstrap.bat có vẻ là cụ thể cho "ntx86" và "ntx86_64." Tôi đã say rồi chưa?
Tại thời điểm này, giả sử tôi đã thực hiện những điều đúng, tôi cần phải chạy b2 với một cái gì đó giống như
b2 --build-dir=build-directory toolset=toolset-name --build-type=complete stage
tôi giả sử thư mục build của tôi là tiếp đầu ngữ tôi sử dụng cho Boost.Build, xây dựng loại và giai đoạn sẽ vẫn như được đưa ra, nhưng tôi không biết tên công cụ để sử dụng. Tệp VeecoFTC có nhiều mục nhập cho msvc và stlport. Tôi đã gỡ bỏ hai mục mà không liên quan đến "WM5," nhưng khi tôi biên dịch với lệnh sau đây
b2 --build-dir=C:\boost-build toolset=msvc --build-type=complete stage
tôi nhận được một loạt các lỗi như:
compile-c-c++ C:\boost-build\boost\bin.v2\libs\regex\build\msvc-9.0~wm5~stlport5.2\debug\threading-multi\has_icu_test.obj
The system cannot find the path specified.
Thật vậy, tập tin mà không không tồn tại, nhưng has_icu_test.obj.rsp tồn tại ở đó. Tui bỏ lỡ điều gì vậy? Tôi có đi đúng đường không?
UPDATE:
Vì tôi không thể có được Boost.Build để làm việc và đang nhận được không có tình yêu trong danh sách Boost.Build gửi thư, tôi đã chuyển sang cố gắng các CMake hệ thống xây dựng cho Boost: http://gitorious.org/boost/cmake. Tôi đang sử dụng điều này kết hợp với CEgcc (tôi quen thuộc hơn với Linux hơn Windows) và tôi đang gặp phải lỗi sau:
boost/config/requires_threads.hpp:47:5: error: #error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
--thủ là một phần của cờ C và CXX-- vấn đề là BOOST_PLATFORM_CONFIG không được định nghĩa bởi boost/config/select_platform_config.hpp. Điều này nên được xác định cho Windows CE như thế nào? Tôi figured nó nên được tăng/config/nền tảng/win32.hpp (mà sau đó sẽ xác định BOOST_HAS_WINTHREADS, mà sẽ giải quyết các lỗi trên). Làm cách nào để ghi chú phát hành xác nhận quyền sở hữu này hoạt động khi select_platform_config.hpp dường như không xử lý các trường hợp Windows CE? Nếu BOOST_PLATFORM_CONFIG thực sự cần phải tăng/config/platform/win32.hpp, thì tôi cần xác định _WIN32, WIN32 hoặc WIN32. Phản ứng đầu tiên của tôi là không ai trong số này nên được sử dụng để biên dịch cho CE. Ngoài ra, tệp VeecoFTC không chứa bất kỳ tệp nào trong số này. Làm thế nào nó hoạt động?
Bạn có thực sự sử dụng bất kỳ thư viện Boost nào cần biên dịch không? Có khá nhiều thư viện hữu ích trong Boost mà không cần xây dựng. – Daemin
Phải, bạn thực sự sử dụng những phần nào của tăng cường? Cá nhân tôi chỉ sử dụng các tập tin tiêu đề tăng cường cho các tính năng tiêu chuẩn như STATIC_ASSERT và boost :: mpl, và những thứ này hoạt động tốt trong WinCE/VC++. Boost là một bộ sưu tập khổng lồ các thư viện; chắc chắn bạn không cần phải biên dịch tất cả thành công. – Qwertie
Liên quan đến "Visual C++, Windows Mobile 5, với STLport: 9.0,", đây là VC++ 9, với STLport cross-compiling cho WM5. Vâng, có vẻ buồn cười theo cách đó. –