سؤال

أقوم بالبرمجة لجهاز مضمن باستخدام NVIDIA Tegra 2 يعمل بنظام التشغيل Windows Embedded Compact 7.بيئة التطوير الخاصة بي هي Microsoft Visual Studio 2008.يبدو أن مكتبة التعزيز وخاصة حزمة Boost-ASIO مفيدة جدًا لاحتياجاتي.لسوء الحظ، لم أتمكن من العثور على دليل جيد حول كيفية تشغيل التعزيز على Windows Embedded Compact 7.أفضّل أن أحصل على .lib الملفات التي يمكنني ربطها بشكل ثابت في طلبي.

هل كانت مفيدة؟

المحلول

يبدو أن الوثائق الخاصة بهذه العملية قليلة، لأنها تتطلب تحديثات غير تافهة لعملية الإنشاء حتى تتمكن من العمل مع Windows CE.يبدو أن البرنامج التعليمي الأكثر شمولاً لهذه المشكلة هو هنا.

منذ أن قمت بوضع علامة على هذا صراحة boost-asio, ، لقد بحثت أيضًا في هذا المكون من Boost على وجه التحديد. إليك موضوعًا من قائمة Boost البريدية الذي يغطي هذه المكتبة بالتفصيل، بما في ذلك حالات الفشل المحتملة التي قد تواجهها، تعديلات ملف JAM، و ملف دفعي لمساعدتك في البناء.*

لأولئك الذين يقرأون هذا: لو سمحت شارك تجاربك بمجرد الانتهاء من هذا العمل.على الرغم من المخاوف المختلفة التي يعتبر Boost ثقيلًا جدًا على الذاكرة بالنسبة للتطبيقات المضمنة، يوفر Boost القدرة على استخدام حزم منفصلة لتلبية احتياجاتك.أتوقع أن يكون هناك مستخدمون آخرون في SO جداً مهتم بتجاربك في الحصول على هذا العمل.


* نظرًا لأن الأشخاص كانوا يعبرون عن مشكلات تتعلق باختفاء الملف الدفعي المشار إليه عند انتهاء صلاحية روابط Nabble، فإليك ملف لصق للأجيال القادمة:

@SET VCINSTALLDIR=%VS9INSTALLDIR%\VC 
@if "%VS9INSTALLDIR%"=="" goto error_no_VSINSTALLDIR 
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR 

@echo Setting environment for using Microsoft Visual Studio 2008 tools for WM5. 
@set TARGETCPU=X86 

@call :GetWindowsSdkDir 

@if not "%WindowsSdkDir%" == "" ( 
        set "PATH=%WindowsSdkDir%bin;%PATH%" 
) 

@rem 
@rem Root of Visual Studio IDE installed files. 
@rem 
@set DevEnvDir=%VS9INSTALLDIR%\Common7\IDE 

@set PATH=%VCINSTALLDIR%\CE\bin\x86_arm;%VCINSTALLDIR%\bin;%VS9INSTALLDIR%\Common7\Tools;%DevEnvDir%;%VS9INSTALLDIR%\Common\Tools;%VS9INSTALLDIR%\Common\IDE;%VS9INSTALLDIR%;%PATH% 
@set INCLUDE=%STLPORT_PATH%\STLPort-5.2.1\stlport;%VCINSTALLDIR%\ce\include;%CETOOLS%\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I;%CETOOLS%\Windows Mobile 5.0 Pocket PC SDK\include;%VCINSTALLDIR%\ce\atlmfc\include 
@set LIB=%STLPORT_PATH%\STLPort-5.2.1\lib\evc9-arm;%CETOOLS%\Windows Mobile 5.0 Pocket PC SDK\lib\ARMV4I;%VCINSTALLDIR%\ce\ATLMFC\LIB\ARMV4I;%VCINSTALLDIR%\ce\LIB\ARMV4I 
@set LIBPATH= 

@goto end 

:GetWindowsSdkDir 
@call :GetWindowsSdkDirHelper HKLM > nul 2>&1 
@if errorlevel 1 call :GetWindowsSdkDirHelper HKCU > nul 2>&1 
@if errorlevel 1 set WindowsSdkDir=%VCINSTALLDIR%\PlatformSDK\ 
@exit /B 0 

:GetWindowsSdkDirHelper 
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows" /v "CurrentInstallFolder"') DO ( 
        if "%%i"=="CurrentInstallFolder" ( 
                SET "WindowsSdkDir=%%k" 
        ) 
) 
@if "%WindowsSdkDir%"=="" exit /B 1 
@exit /B 0 


:error_no_VSINSTALLDIR 
@echo ERROR: VS9INSTALLDIR variable is not set. 
@goto end 

:error_no_VCINSTALLDIR 
@echo ERROR: VCINSTALLDIR variable is not set. 
@goto end 

:end 

@SET VCINSTALLDIR=%VS9INSTALLDIR%\VC 
@SET FrameworkDir=C:\WINDOWS\Microsoft.NET\Framework 
@SET FrameworkVersion=v2.0.50727 
@SET Framework35Version=v3.5 
@if "%VS9INSTALLDIR%"=="" goto error_no_VSINSTALLDIR 
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR 

@echo Setting environment for using Microsoft Visual Studio 2008 x86 tools with STLport-5.2.1. 

@call :GetWindowsSdkDir 

@if not "%WindowsSdkDir%" == "" ( 
        set "PATH=%WindowsSdkDir%bin;%PATH%" 
        set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%" 
        set "LIB=%WindowsSdkDir%lib;%LIB%" 
) 


@rem 
@rem Root of Visual Studio IDE installed files. 
@rem 
@set DevEnvDir=%VS9INSTALLDIR%\Common7\IDE 

@set PATH=%DevEnvDir%;%VCINSTALLDIR%\BIN;%VS9INSTALLDIR%\Common7\Tools;%FrameworkDir%\%Framework35Version%;%FrameworkDir%\%FrameworkVersion%;%VCINSTALLDIR%\VCPackages;%PATH% 
@set INCLUDE=%STLPORT_PATH%\STLport-5.2.1\stlport;%VCINSTALLDIR%\ATLMFC\INCLUDE;%VCINSTALLDIR%\INCLUDE;%INCLUDE% 
@set LIB=%STLPORT_PATH%\STLport-5.2.1\lib\vc9;%VCINSTALLDIR%\ATLMFC\LIB;%VCINSTALLDIR%\LIB;%LIB% 
@set LIBPATH=%FrameworkDir%\%Framework35Version%;%FrameworkDir%\%FrameworkVersion%;%VCINSTALLDIR%\ATLMFC\LIB;%VCINSTALLDIR%\LIB;%LIBPATH% 

@goto end 

:GetWindowsSdkDir 
@call :GetWindowsSdkDirHelper HKLM > nul 2>&1 
@if errorlevel 1 call :GetWindowsSdkDirHelper HKCU > nul 2>&1 
@if errorlevel 1 set WindowsSdkDir=%VCINSTALLDIR%\PlatformSDK\ 
@exit /B 0 

:GetWindowsSdkDirHelper 
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows" /v "CurrentInstallFolder"') DO ( 
        if "%%i"=="CurrentInstallFolder" ( 
                SET "WindowsSdkDir=%%k" 
        ) 
) 
@if "%WindowsSdkDir%"=="" exit /B 1 
@exit /B 0 

:error_no_VSINSTALLDIR 
@echo ERROR: VSINSTALLDIR variable is not set. 
@goto end 

:error_no_VCINSTALLDIR 
@echo ERROR: VCINSTALLDIR variable is not set. 
@goto end 

:end 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top