gpt4 book ai didi

c++ - 英特尔 TBB 集成问题 - Google 测试项目中的 VS2013 编译错误

转载 作者:行者123 更新时间:2023-11-28 06:27:47 26 4
gpt4 key购买 nike

我有一个具有这种结构的 VS2013 解决方案:

  • gtestalgo 项目,gtests 在库 algo.lib 上
  • algo 项目,编译为 dll 并导出 .lib 到 $(SolutionDir)lib/Release_x64 文件夹

gtestalgo 项目对 algo 项目存在构建依赖性。

单独的算法项目构建成功。算法项目包括英特尔 TBB:链接器属性包含附加库目录“$(tbb_path)\lib\intel64\$(tbb_subdir)”和输入“tbb.lib”。

gtestalgo 项目无法编译。错误都与 TBB 有关。更准确地说,错误是指算法项目中无法识别 TBB 的文件,例如“TBB 不是类或命名空间名称”。 gtestalgo 项目已将 ../algo 作为附加包含目录,其中 ../algo 包含算法项目的所有源文件和头文件。 gtestalgo 项目链接库 algo.lib,并且正确设置了链接器附加库目录和输入。 gtestalgo 项目中的源代码包括来自 algo 项目的几个头文件:#include "algo_main.h" 等...

我尝试将 TBB 链接到 gtestalgo 项目(具有与算法项目中相同的链接器属性),并且我还尝试删除此链接。在这两种情况下,编译错误都是一样的。

  • 为什么 algo 项目可以编译,但 gtestalgo 项目不能编译,提示 TBB 在来自 algo 的源 中不被识别项目 ?

  • 当没有代码时,我是否应该将 TBB 库链接到 gtestalgo 项目gtestalgo 项目源使用 TBB(algo 项目只实现了待定 API)?

  • 知道这里会出什么问题吗?

最佳答案

Sources in gtestalgo project include several header files from algo project: #include "algo_main.h", etc...

这表明如果 Algo 头文件包含 TBB,则将此类 Algo 头文件包含到 GTestAlgo 项目中会带来对 TBB 的依赖。

由于 Algo 项目编译良好,我得出结论,它正确设置了包含目录,因此可以找到 TBB header 。

但是我在你的描述中没有看到在 GTestAlgo 项目中如何设置包含目录。以与 TBB 位置相同的方式设置它们,它可能会编译正常。

关于c++ - 英特尔 TBB 集成问题 - Google 测试项目中的 VS2013 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28212685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com