包括在自制静态库的标头文件中使用的库
include libraries that are used in header file of self-made static library
在一个静态库项目中,我有" myclass.h",就像以下类似:
class myClass{
.
.
#include "tensorflow/....h" //some tensorflow header file
.
.
using tensorflow::Tensor;
.
.
void CopyTensorImage2Cv(tensorflow::Tensor &Tensor);
.
.
}
}
我的" myclass.cpp"具有CopyTensorImage2Cv()
的定义。
我想制作一个静态库,因此我成功地构建了项目并获得" myclass.lib"。
现在,我制作了一个带有源代码" test.cpp"的控制台应用程序来使用此lib文件。当我添加lib文件并将" myclass.h"复制到" test.cpp"并构建项目时,Visual Studio会增加一个无法理解#include "tensorflow/....h"
和"using tensorflow::Tensor"
在这种情况下,我该怎么办,我想使用一个静态库,该库在其标题文件中使用另一个库?
我找到了解决方案,我使用了前向声明,以避免在标题文件中使用#include。这个对我有用。有关更多详细信息,您可以在标题文件中搜索前向声明。例如,在这种情况下,我使用以下代码:
namespace tensorflow{
class Tensor;
};
相关文章:
- 使用gcc从静态链接的文件中查找可选符号
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- Android 在编译二进制文件时重建静态库
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 我可以读取静态对象中的文件.txt吗?C++
- 复制文件流C++静态变量
- 调用在 HXX 文件中声明的静态数据成员
- 链接时,不同静态库中的同一对象文件
- 如何在 linux 可执行文件中使用静态库
- 内联函数的函数本地静态对象是否在共享对象文件之间共享?
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 在链接可执行文件之前查找静态库未解析的依赖项
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- 访问从 CPP 文件到其他头文件的静态变量
- 无法将静态二进制文件链接到 #include
- 如何将 cpp 文件中的静态函数公开给其他文件
- 从 .so/.o 文件中获取 C/cpp 中的静态库列表
- 从内联函数引用文件静态变量
- IDL文件-静态链接或动态链接