包括在自制静态库的头文件中使用的库

时间:2019-05-19 10:30:33

标签: c++ visual-studio visual-studio-2015 static-libraries

在静态库项目中,我的“ myClass.h”如下所示:

import random
import math

a = "composite number"
b = "prime number"
num = random.randint(2 , 10)
print(num)
guess = str(input("tell if it is composite number or prime number: "))

for i in range (2,int(math.sqrt(num))+1):
    if (num % i) == 0: 
        answer = a
        break
else:
    answer = b

if answer == guess:  
    print("correct answer")
else:
    print("correct answer")

}

,我有定义为class myClass{ . . #include "tensorflow/....h" //some tensorflow header file . . using tensorflow::Tensor; . . void CopyTensorImage2Cv(tensorflow::Tensor &Tensor); . . } 的“ myClass.cpp”。

我想创建一个静态库,因此我构建了项目并成功获取“ myClass.lib”。

现在,我使用源代码“ test.cpp”制作一个控制台应用程序以使用此lib文件。 当我添加lib文件并在“ test.cpp”旁边复制“ myClass.h”并生成项目时,Visual Studio会引发一个无法理解CopyTensorImage2Cv()#include "tensorflow/....h"

的错误

在这种情况下,我想使用一个静态库在其头文件中使用另一个库,该怎么办?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案, 我使用转发声明来避免在头文件中使用#include。 这个对我有用。 有关更多详细信息,您可以在头文件中搜索转发声明。 例如,在这种情况下,我使用以下代码:

namespace tensorflow{
      class Tensor;
};