4428|8

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

驱动项目编译无法生成DLL文件 [复制链接]

我的SPI驱动项目编译无法生成DLL文件,纠结中。。。
我在项目文件夹运行命令Build,显示如下信息:
C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI>build
Build for Windows CE (Release 601) (Built on Aug 17 2006 15:18:52)
File names: Build.log Build.wrn Build.err Build.dat
BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [00:0000000000:PROGC ] Build started with parameters:
BUILD: [00:0000000001:PROGC ] Build started in directory: C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI
BUILD: [00:0000000002:PROGC ] Checking for C:\WINCE600\sdk\bin\i386\srccheck.exe.
BUILD: [00:0000000003:PROGC ] Running passes WCEFILES0, MIDL, MC, ASN, THUNK, PR
ECOMPHEADER, COMPILE, LIB, LINK, MANAGEDRESX, MANAGEDMOD, MANAGEDDLL, MANAGEDEXE, MANAGEDWIN for ARM.
BUILD: [00:0000000004:PROGC ] Loading database "C:\WINCE600\PLATFORM\SMDK6410\Build.dat".
BUILD: [00:0000000005:PROGC ] Done.
BUILD: [00:0000000006:PROGC ] Computing include file dependencies:
BUILD: [00:0000000007:PROGC ] Checking for SDK include directory: C:\WINCE600\sdk\CE\inc.
BUILD: [00:0000000008:PROGC ] Scan C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI\
BUILD: [00:0000000009:PROGC ] Saving C:\WINCE600\PLATFORM\SMDK6410\Build.dat.
BUILD: [00:0000000012:PROGC ] Building COMPILE Pass in C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI\ directory.
BUILD: [00:0000000022:WARNN ] File: C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI\obj\ARMV4I\retail\spi.obj does not exist (2).
BUILD: [00:0000000026:PROGC ] Building LIB Pass in C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI\ directory.
BUILD: [00:0000000036:WARNN ] File: C:\WINCE600\platform\SMDK6410\lib\ARMV4I\retail\s3c6410_spi.lib does not exist (2).
BUILD: [00:0000000037:WARNN ] C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI\: Missing source file: C:\WINCE600\public\common\sdk\lib\ARMV4I\retail\coredll.lib.
BUILD: [00:0000000038:WARNN ] C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI\: Missing source file: C:\WINCE600\public\common\oak\lib\ARMV4I\retail\ceddk.lib.
BUILD: [00:0000000046:PROGC ] Building LINK Pass in C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\SPI\ directory.
BUILD: [00:0000000056:PROGC ] Saving C:\WINCE600\PLATFORM\SMDK6410\Build.dat.
BUILD: [00:0000000058:PROGC ] Done.
BUILD: [00:0000000059:PROGC ]                        Files  Warnings  Errors
BUILD: [00:0000000060:PROGC ] Midl                       0         0       0
BUILD: [00:0000000061:PROGC ] Message                    0         0       0
BUILD: [00:0000000062:PROGC ] Precomp Header             0         0       0
BUILD: [00:0000000063:PROGC ] Resource                   0         0       0
BUILD: [00:0000000064:PROGC ] MASM                       0         0       0
BUILD: [00:0000000065:PROGC ] SHASM                      0         0       0
BUILD: [00:0000000066:PROGC ] ARMASM                     0         0       0
BUILD: [00:0000000067:PROGC ] MIPSASM                    0         0       0
BUILD: [00:0000000068:PROGC ] C++                        0         0       0
BUILD: [00:0000000069:PROGC ] C                          0         0       0
BUILD: [00:0000000070:PROGC ] Static Libraries           0         0       0
BUILD: [00:0000000071:PROGC ] Exe's                      0         0       0
BUILD: [00:0000000072:PROGC ] Dll's                      0         0       0
BUILD: [00:0000000073:PROGC ] Preprocess deffile         0         0       0
BUILD: [00:0000000074:PROGC ] Resx                       0         0       0
BUILD: [00:0000000075:PROGC ] CSharp Compile             0         0       0
BUILD: [00:0000000076:PROGC ] Other                      0         0       0
BUILD: [00:0000000077:PROGC ]
BUILD: [00:0000000078:PROGC ] Total                      0         0       0
BUILD: [00:0000000079:PROGC ]
BUILD: [00:0000000080:PROGC ] 0 Warnings,  0 Errors
BUILD: [00:0000000081:PROGC ] GetSystemTimes (seconds): Idle: 0     Kernel: 1  User: 0
BUILD: [00:0000000082:PROGC ] Elapsed  time  (seconds): 1

最新回复

我找到了,里面设置的是 set BSP_NOSPI=1 改成 set BSP_NOSPI 就可以了 多谢  详情 回复 发表于 2009-12-15 10:54
点赞 关注

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
DIR文件没错,SOURCE文件如下:

!if "$(BSP_NOSPI)" == "1"
SKIPBUILD=1
!endif

RELEASETYPE=PLATFORM

PREPROCESSDEFFILE=1

TARGETNAME=s3c6410_spi
TARGETTYPE=DYNLINK
DEFFILE=s3c6410_spi.def
DLLENTRY=DllEntry

INCLUDES= \
    $(INCLUDES);$(_TARGETPLATROOT)\src\drivers\DMA\s3c6410_dma_lib;. \


TARGETLIBS=\
    $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib    \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib    \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\DriverLib.lib

SOURCELIBS=\
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\s3c6410_dma_lib.lib    \

SOURCES=\
    spi.c

s3c6410_spi.def内容:
LIBRARY spi

EXPORTS
    SPI_Init
    SPI_Deinit
    SPI_Open
    SPI_Close
    SPI_Read
    SPI_Write
    SPI_Seek
    SPI_IOControl
    SPI_PowerDown
    SPI_PowerUp

platform.reg里:
IF BSP_NOSPI !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\spi]
        "Prefix"="SPI"
        "Dll"="s3c6410_spi.dll"
        "Index"=dword:1
        "Order"=dword:30
ENDIF BSP_NOSPI !

platform.bib里:
IF BSP_NOSPI !
    s3c6410_spi.dll        $(_FLATRELEASEDIR)\s3c6410_spi.dll                NK            SHK
ENDIF BSP_NOSPI !

请教为什么得不到DLL文件,好像他就没编译源文件,直接找的.obj文件,但不存在。
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
BSP_NOSPI设置的是多少?
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

4
 
IF BSP_NOSPI ! 要设置的  你可以可以先把SPI驱动里面的obj文件夹给删了 重新编译 生成OBJ文件
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
尝试将source文件中:
!if "$(BSP_NOSPI)" == "1"
SKIPBUILD=1
!endif

先屏蔽掉再编译看看!
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 zhoukq 的回复:
尝试将source文件中:
!if "$(BSP_NOSPI)" == "1"
SKIPBUILD=1
!endif

先屏蔽掉再编译看看!


去掉再编译就ok了,但我不明白这个BSP_NOSPI是在哪里设置的,我怎么修改它的值,谢谢!
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

7
 
mark only depend youself
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

8
 
在.bat文件中找,会有它的定义。你也可以在里面修改这个宏的值。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 7 楼 yashi 的回复:
在.bat文件中找,会有它的定义。你也可以在里面修改这个宏的值。


我找到了,里面设置的是
set BSP_NOSPI=1
改成
set BSP_NOSPI
就可以了

多谢
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表