关于“或上一个增量链接没有生成它;正在执行完全链接”

今天在编译一个程序的时候,总是出现“或上一个增量链接没有生成它;正在执行完全链接”这样的错误,到Debug目录中始终找不到生成的程序,但是在VS2008中调试执行的时候还能通过,百思不得其解。到网上查了半天也没有一个人清晰的解答出来,而且很多人都是说了一半就不说了。感觉起来应该是一个比较容易解决的问题,我想我可能犯了一个比较初级的错误,没办法,既然网上没有明晰的答案,只好自己找。结果还真的比较简单的找到了问题出处,还真是一个幼稚的错误。

    如果发生这样的错误,提示如下:

1>LINK : 没有找到 D:\cplus\hgetest2\Debug\hgetest2.exe 或上一个增量链接没有生成它;正在执行完全链接

1>正在嵌入清单...

1>生成日志保存在“file://d:\cplus\hgetest2\hgetest2\Debug\BuildLog.htm”

1>hgetest2 - 0 个错误,0 个警告

========== 全部重新生成: 1 已成功, 0 已失败, 0 已跳过 ==========

注意下面的提示,它说已经成功生成,但是没有在程序Debug目录下,而是在当前工程的根目录下有一个Debug目录,你生成的程序就在那里放着呢。一个简单的问题,但是我到网上查了好多,始终没有一个人能明确的说出来。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Buildroot是一个开源工具,可以自动化地构建嵌入式Linux系统。它可以帮助用户从源代码自动构建所需的库、内核、文件系统和应用程序等组件,实现定制化的嵌入式Linux系统。 下面是Buildroot自动化能力的四个例子: 1. 交叉编译:Buildroot可以自动化地交叉编译嵌入式Linux系统所需的组件,无需手动配置交叉编译环境和编译选项。 2. 压缩文件系统:Buildroot可以自动化地压缩文件系统,使其适用于嵌入式系统的存储空间有限的情况。用户只需设置所需的文件系统类型和压缩算法即可。 3. 自动化构建内核:Buildroot可以自动化地下载、配置和构建内核,用户只需设置所需的内核版本和配置选项即可。 4. 生成完整镜像:Buildroot可以自动化地生成完整的镜像文件,包括内核、文件系统和引导程序等组件。用户只需设置所需的镜像格式和引导程序即可。 而Busybox则是一个类Unix操作系统的精简版工具集,包含了大量常用的命令和工具。虽然Busybox可以通过Makefile进行自动化编译,但在使用时还需要手动进行一些操作,下面是Busybox需要手动操作的四个例子: 1. 选择需要的工具:Busybox包含了大量的命令和工具,用户需要手动选择需要的工具进行编译,否则会增加不必要的存储空间。 2. 编译选项设置:用户需要手动设置编译选项,以便根据实际需求进行优化和配置。 3. 环境变量设置:为了方便使用Busybox中的工具,用户需要手动设置环境变量,以使其在系统中可用。 4. 手动配置系统:由于Busybox只是一个工具集,用户需要手动配置系统的其他组件,如内核、文件系统和应用程序等,以构建完整的嵌入式Linux系统。 ### 回答2: Buildroot 是一个用于构建嵌入式 Linux 系统的工具集。它可以自动化完成如下的任务: 1. 交叉编译:Buildroot 可以根据用户的配置,选择合适的交叉编译工具链,自动下载和安装所需的工具链,并将用户选择的软件包交叉编译为嵌入式系统可执行的二进制文件。 2. 系统镜像生成:Buildroot 可以自动构建整个嵌入式 Linux 系统的根文件系统镜像,包括文件目录结构、设备节点、库文件和可执行文件等,并支持添加自定义的初始化脚本。 3. 映像更新:当用户对配置进行更改后,Buildroot 可以智能地识别这些更改,并仅重新编译受影响的软件包和相关组件,以提高构建效率。通过增量更新技术,可以快速生成只包含最新更改的新系统镜像。 4. 包管理:Buildroot 提供了一个包管理系统,可以方便地添加、删除和更新软件包。用户只需在配置文件中指定需要安装的软件包和依赖关系,Buildroot 就会自动下载、编译和安装所需的软件包及其依赖。 相比之下,BusyBox 是一个集成了许多常用 Unix 工具的软件包,它可以在嵌入式系统上提供许多核心命令和功能。BusyBox 需要手动完成如下的一些任务: 1. 配置定制:BusyBox 需要通过手动配置文件来选择所需的工具和功能。用户需要清楚地了解系统的需要,并手动选择和配置适合的工具,以便生成适合自己需求的版本。 2. 编译构建:用户需要手动使用交叉编译工具链来编译 BusyBox,并将生成的可执行文件手动安装到目标嵌入式系统中。 3. 命令管理:BusyBox 需要用户手动管理各个命令的使用方式和参数,通过命令行输入不同的命令和选项来执行具体功能。 4. 功能扩展:如果用户需要额外的功能或新的命令,需要手动编写扩展模块,并将其集成到 BusyBox 中,以便生成自定义的 BusyBox。 总之,Buildroot 提供了自动化构建嵌入式 Linux 系统的功能,而 BusyBox 则需要用户手动选择和配置工具、手动编译安装,并需要手动管理命令和功能。 ### 回答3: Buildroot是一个用于嵌入式Linux系统构建的工具,它可以自动化完成以下任务: 1. 系统交叉编译:Buildroot可以自动进行系统交叉编译,生成适用于目标硬件平台的二进制可执行文件、库文件和内核镜像等。它会根据用户的配置选择适合目标平台的编译和链接工具链,并自动完成编译过程。 2. 软件包管理:Buildroot拥有一个丰富的软件包库,用户可以通过配置文件选择需要的软件包,Buildroot会自动下载、编译和安装这些软件包。用户只需要在配置文件中指定需要的软件包名称和版本,Buildroot会自动处理依赖关系,并生成镜像文件。 3. 文件系统生成:Buildroot可以自动根据用户的需求生成根文件系统,包括设备文件、配置文件、库文件和可执行文件等。用户只需要选择需要的文件和目录,Buildroot会自动将它们打包为文件系统,并生成相应的映像文件。 4. 重复构建管理:Buildroot能够自动检测和管理当前系统的构建状态。它利用缓存机制,只在必要的时候重新构建软件包和文件系统,以提高构建效率。当用户修改配置文件或软件包源码时,Buildroot会自动重新构建相关部分,而无需重新构建整个系统。 Busybox是一个集成了多个常用工具的软件包,需要用户手动配置和编译才能生成对应的可执行文件,常见的手动操作如下: 1. 配置:用户需要手动选择需要集成的工具,并根据自己的需求进行相关配置。这些工具包括文件操作、网络管理、系统管理、终端操作等。用户需要根据具体情况选择需要的功能,通过修改配置文件或使用命令行参数来完成配置。 2. 编译:用户需要手动使用交叉编译工具链对Busybox进行编译,生成执行文件。编译过程中,用户可以根据需要选择编译生成的目标文件类型、优化等级等参数。 3. 安装:编译完成后,用户需要手动将生成的可执行文件安装到目标系统中的指定位置。这涉及到文件拷贝、权限设置等操作。 4. 调试和维护:当用户需要进行调试和修改时,需要手动重新进行配置、编译和安装。这需要用户具备一定的Linux系统和编译工具的使用经验,并需要耗费时间和精力进行相关的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值