Carbide C++ 2.0 中的构建问题

Posted

技术标签:

【中文标题】Carbide C++ 2.0 中的构建问题【英文标题】:Issues with build in Carbide C++ 2.0 【发布时间】:2009-09-30 19:50:57 【问题描述】:

我正在构建我的应用程序,当我尝试在模拟器上运行它时,我收到了这个错误。

Creation Time   Description Resource    Path    Location    Type
1254339868582   BLDMAKE ERROR: Directory "\S60\devices\Nokia_N97_SDK_v1.0\epoc32\" does not exist   ZeFirst     Unknown C/C++ Problem

该文件夹确实存在并且具有必要的权限。

控制台有以下一组警告信息

warning: "C:\S60\devices\Nokia_N97_SDK_v1.0\epoc32\tools\GCCEV6.bsf" Invalid BSF specification - customization restricted to ARMV5, ABIv2 and valid BSF platforms
warning: "C:\S60\devices\Nokia_N97_SDK_v1.0\epoc32\tools\GCCEV6T2.bsf" Invalid BSF specification - customization restricted to ARMV5, ABIv2 and valid BSF platforms
warning: "C:\S60\devices\Nokia_N97_SDK_v1.0\epoc32\tools\GCCEV7A.bsf" Invalid BSF specification - customization restricted to ARMV5, ABIv2 and valid BSF platforms

【问题讨论】:

你是否从命令行得到相同的结果,即 bldmake bldfiles abld build winscw udeb 我认为如果你发布完整的构建输出会很有帮助。 这里是控制台日志第 1 部分 - perl.exe -S bldmake.pl bldfiles winscw 警告:EPOCROOT 未指定现有目录警告:“C:\S60\devices\Nokia_N97_SDK_v1.0\epoc32\ tools\GCCEV6.bsf" 无效的 BSF 规范 - 定制仅限于 ARMV5、ABIv2 和有效的 BSF 平台警告:"C:\S60\devices\Nokia_N97_SDK_v1.0\epoc32\tools\GCCEV6T2.bsf" 无效的 BSF 规范 - 定制仅限于 ARMV5 、ABIv2 和有效的 BSF 平台 第 2 部分 - 警告:“C:\S60\devices\Nokia_N97_SDK_v1.0\epoc32\tools\GCCEV7A.bsf” 无效的 BSF 规范 - 定制仅限于 ARMV5、ABIv2 和有效的 BSF 平台 BLDMAKE 错误:目录“\S60\devices\Nokia_N97_SDK_v1.0\epoc32\”不存在 === BLDMAKE 命令失败,错误代码 1 === 您可以放心地忽略 BSF 的事情。 bldmake 错误似乎表明您的 %EPOCROOT% 环境变量设置不正确。 【参考方案1】:

您的计算机上还安装了哪些其他开发工具?

是否有可能您的路径环境变量的顺序错误,例如您没有使用正确版本的编译器?

随意发布你的路径,它只能提供更多信息。

【讨论】:

【参考方案2】:

我不确定这是否可行,但试试这个:

将驱动器替换为 C:\S60\devices\Nokia_N97_SDK_v1.0\

Start, Run...
subst x: C:\S60\devices\Nokia_N97_SDK_v1.0\

然后在碳化物中,将您的 SDK 设置为指向这个替代位置。

Window, Preferences, Carbide C++, SDK .. 
Change the paths to use "x:\"  rather than C:\...

删除 Carbide 中的所有导入项目

Select project, right-click, delete.
(Do NOT click the tick box that is displayed).

重新导入你的项目

File, Import, x:\.....\bld.inf

【讨论】:

在 Windows XP(及更早版本)中,无需使用古老的 SUBST 即可创建符号链接。但是,在每次 IDE 重新启动后,SDK 根目录的首选项将恢复到其原始位置。 你在我写这篇文章 5 年后才发表评论。 :)。 (PS - 我相信 Symbian 代码库要求它位于驱动器的根目录中,这就是使用 subst 的原因。但是,现在它都无关紧要了.. sob【参考方案3】:

我曾经遇到过类似的问题。

如果您之前能够构建和启动 eumlator,那么唯一对我有用的解决方案是重新安装 SDK。

【讨论】:

【参考方案4】:

技术,

确保您的工作区位于 Symbian SDK 安装的同一驱动程序分区 (C:) 中。如果不尝试更改它。

有时我通过更改 .pkg 文件的内容以使用相对路径来解决该问题。例如:

;Files to install
;You should change the source paths to match that of your environment
;<source> <destination>
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\MyApp.exe"     -"!:\sys\bin\MyApp.exe"
"$(EPOCROOT)Epoc32\data\z\resource\apps\MyApp.r01"      -"!:\resource\apps\MyApp.r01"
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\MyApp_reg.r01"  -"!:\private\10003a3f\import\apps\MyApp_reg.r01"
"$(EPOCROOT)epoc32\data\z\resource\apps\MyApp_aif.mif" -"!:\resource\apps\MyApp_aif.mif"
"$(EPOCROOT)epoc32\data\z\resource\apps\MyApp.mbm" -"!:\resource\apps\MyApp.mbm"

希望对你有帮助。

【讨论】:

以上是关于Carbide C++ 2.0 中的构建问题的主要内容,如果未能解决你的问题,请参考以下文章

Symbian C++ - S60 应用程序通过 TRK 和 Carbide 启动,但不是在之后或下载时启动

Carbide 不包括某些文件的调试信息

在symbian3里怎么安装Qt 我现在装了Symbian3的sdk,qt4.7.1也安装了。但是在carbide c++里,选择qt编译报

Mac OS X 下的 Symbian C++ 开发

使用 Carbide.c++ 在 Symbian OS 中调试恐慌

查找 3 个 C++ 中的 1 个集合唯一的单词