2012-08-23 89 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