link 1104: 无法打开tbb_debug.lib 解决(详细步骤)

环境windows10 + VS2019下编译报错link 1104

解决方案:
1)下载TBB,下载链接

2)因为是github下载的,要自己build, 比如我下载在E:/tbb下面,可以看到这个文件夹下有CMakeList.txt文件,下面打开windows的cmd窗口,走到E:/tbb下,运行cmake . (要安装cmake, 设置环境变量的路径)
在这里插入图片描述
3)然后你会看到当前文件夹下多了一个ALL_BUILD文件,用visual studio打开它
在这里插入图片描述
4)打开之后点击“生成”->"生成解决方案“,我们需要它生成的tbb12_debug.lib和tbb12_debug.dll

5)配置VS2019:
打开自己的project, 也就是需要用到tbb的project
右键project后选择”属性“
选择Debug和x64
在这里插入图片描述
在配置属性中选择”VC++目录“,在”库目录“中加入tbb12_debug.lib的所在文件夹(搜索一下)
在链接器(linker)的第一行”附加依赖项“中加入"tbb12_debug.lib"(直接用这个名称,不要路径)
点击”应用“,”确定“

6)生成project的解决方案,注意一定是x64,不要选x86
在这里插入图片描述

7)在运行时可能会遇到找不到"tbb12_debug.dll"的运行错误,这时在tbb文件夹下搜索这个dll,把它复制到exe所在的文件夹下,即可

上述步骤完成后,问题即解决

### 关于 TBB 链接器错误 `undefined reference` 的解决方案 当遇到链接器错误 `'undefined reference to tbb'` 时,通常是因为编译过程中未正确配置 Intel Threading Building Blocks (TBB) 库的路径或缺少必要的库文件。以下是可能的原因以及对应的解决方法: #### 原因分析 1. **缺失 TBB 库文件** 如果项目依赖 TBB 而该库尚未被正确安装,则会出现此类链接器错误[^1]。 2. **链接选项不完整** 编译命令中未指定 `-ltbb` 或其他必要参数可能导致无法找到所需的函数定义[^2]。 3. **CMake 配置不当** 使用 CMake 构建项目时,如果没有正确设置 TBB 的 include 和 lib 路径,可能会引发此问题[^5]。 4. **环境变量冲突或其他构建工具干扰** 如 OpenCV 中提到的情况一样,有时需要清理旧版本缓存或将特定目录加入到全局搜索范围[^4]。 --- #### 解决方案 ##### 方法一:确认并修复 TBB 安装状态 确保已成功安装最新版 TBB 并验证其可用性。可以通过以下方式测试: ```bash ldconfig -p | grep tbb ``` 如果找不到对应条目,请手动调整 LD_LIBRARY_PATH 或重新执行安装脚本[^3]。 ##### 方法二:修改 Makefile/CMakeLists.txt 文件 对于基于 GNU 工具链开发的应用程序,在 Makefile 添加显式的链接指令;如果是通过 CMake 进行管理,则需更新相关部分如下所示: ```cmake find_package(TBB REQUIRED) target_link_libraries(your_target_name PRIVATE ${TBB_IMPORTED_TARGETS}) ``` 同时注意检查是否存在多个不同版本间的兼容性隐患。 ##### 方法三:强制指定绝对路径给链接器 假如上述操作仍未能解决问题,可以尝试硬编码形式引入具体位置上的动态共享对象(.so/.dll),例如: ```cpp #pragma comment(lib, "/path/to/tbb.lib") // Windows 下适用 // Linux/macOS 用户则应考虑利用 g++ 参数 --library-path=/custom/folder/ ``` 另外记得同步处理调试模式(debug)/发布模式(release)切换带来的差异影响。 --- ### 总结说明 综上所述,“undefined reference” 类型报错往往源于资源定位失败所致。针对本文所讨论的具体场景——即涉及 TBB 组件集成的情形下,建议优先排查基础层面因素(如软件包本身完整性),继而再深入探讨高级别的定制需求实现细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值