2012-08-23 86 views
0

爲我的wince目標視覺工作室創建Visual Studio 2008(9.0版)項目時知道我的平臺是「FSS5PV210_CE6(ARMV4I)」。這個平臺是由供應商預先定義的,並通過sdk進行安裝,並使得visual studio神奇地知道它的包含目錄。我在命令行中看不到它,與 顯示的一樣,所以問題是:如何將include dir注入到編譯器中?爲wince編譯boost

升壓添加以下到用戶config.jam中:

using msvc : 9.0~armstone : "cl.exe" : 
<compileflags>-D_CRT_SECURE_NO_WARNINGS 
<compileflags>-D_WIN32_WCE=0x600 
<compileflags>-DUNDER_CE 
<compileflags>-DBSP_FSS5PV210 
<compileflags>-DWINCE 
<compileflags>-DARM 
<compileflags>-D_ARM_ 
<compileflags>-DARMV4I 
<compileflags>-D_LITTLE_ENDIAN 
<compileflags>-DUNICODE 
<compileflags>-D_UNICODE 
<compileflags>-DPOCKETPC2003_UI_MODEL 
<compileflags>-DBOOST_NO_STD_LOCALE 
<compileflags>-D_MSC_VER=1500 
<linkflags>/subsystem:windowsce,6.00 
<linkflags>/machine:arm 
<linkflags>/NODEFAULTLIB:oldnames.lib 
<linkflags>/STACK:262144,4096 
<linkflags>coredll.lib 
<linkflags>corelibc.lib 
<linkflags>ole32.lib 
<linkflags>oleaut32.lib 
<linkflags>uuid.lib 
<linkflags>commctrl.lib 
<architecture>arm 
<instruction-set>armv4 
<interface>wince 
<assembler>"armasm.exe" 
; 

我然後調用的bjam與 bjam.exe工具集= MSVC-9.0〜armstone變體=調試鏈接=靜態線程=多運行時我再次想知道bjam如何知道我的平臺和它的包含目錄,它是 「c:\ Program Files(x86)\ Windows CE Tools \ wce600 \ FSS5PV210_CE6 \ Include \ Armv4i「

-Jochen

回答

0

這工作與checksdk.exe突擊隊:

checksdk -list 

checksdk.exe -sdk "your sdk name" -script setenviroment.bat 

setenvironment.bat這臺名爲INCLUDE一個環境變量。它也設置PATHLIB。它設置PATH以確保使用正確的交叉編譯器cl.exe(例如x86_arm編譯器用於編譯arm),它將LIB設置爲幫助鏈接,INCLUDE當然用於編譯。

+1

凡位於checksdk? –

0

您必須從bjam調用設置環境變量的批處理文件。這是通過配置文件中的選項完成的。例如:

using msvc : 9.0~armstone : "cl.exe" : 
    <compileflags>-D_CRT_SECURE_NO_WARNINGS 
    <compileflags>-D_WIN32_WCE=0x600 
    <compileflags>-DUNDER_CE 
    <compileflags>-DBSP_FSS5PV210 
    <compileflags>-DWINCE 
    <compileflags>-DARM 
    <compileflags>-D_ARM_ 
    <compileflags>-DARMV4I 
    <compileflags>-D_LITTLE_ENDIAN 
    <compileflags>-DUNICODE 
    <compileflags>-D_UNICODE 
    <compileflags>-DPOCKETPC2003_UI_MODEL 
    <compileflags>-DBOOST_NO_STD_LOCALE 
    <compileflags>-D_MSC_VER=1500 
    <linkflags>/subsystem:windowsce,6.00 
    <linkflags>/machine:arm 
    <linkflags>/NODEFAULTLIB:oldnames.lib 
    <linkflags>/STACK:262144,4096 
    <linkflags>coredll.lib 
    <linkflags>corelibc.lib 
    <linkflags>ole32.lib 
    <linkflags>oleaut32.lib 
    <linkflags>uuid.lib 
    <linkflags>commctrl.lib 
    <architecture>arm 
    <instruction-set>armv4 
    <interface>wince 
    <assembler>"armasm.exe" 
    <setup>armstoneconf.bat 
; 

INT批處理文件,我叫armstoneconf.bat你必須設置PATH,包括LIB和LIBPATH目標的頭。

在user-config.jam中,您必須使用ARM編譯器,而不是x86編譯器。我認爲它位於%VCInstallDir%ce/bin/x86_arm/cl.exe中,而不是用於桌面目標的「cl.exe」。

您可以創建一個簡單的vc解決方案,並查看visual studio的使用情況。

也看在: http://stackoverflow.com/questions/15906901/build-boost-c-wince