使用静态库(.a)中的头文件(.h)

PRVS

我正在尝试在另一个项目中使用静态库(.a)。我想#include从这个.a制作标题,但是我遇到了错误。

首先,我尝试在.a文件中搜索.h文件,以便了解它是否在.a下,并且得到:

Binary file libtest.a matches

因此,标头位于静态库下。然后,我将这种方式插入CMakeFiles.txt:

cmake_minimum_required(VERSION 3.4.1)

add_library(hello-jni SHARED
            hello-jni.c)

# Include libraries needed for hello-jni lib
target_link_libraries(hello-jni
                      android
                      log
                     /home/prvs/android-ndk/hello/jni/app/src/main/cpp/libtest.a
              )

但是,当我在Android Studio中运行该应用程序时,我得到了:

Fatal error: 'example.h' file not found

我将这样导入C:

#include <example.h>

为了导入头文件,是否需要其他步骤?

数据狼

静态库文件(.a.libWindows上的Unix / Linux上)通常包含标头。是的,从技术上讲,可以将任意文件一起打包到目标文件中,但是大多数链接程序只会对此扼杀,并且在出现此类可憎之处时拒绝继续工作。

在存档中搜索标题名称匹配的最可能的原因是,标题文件名称是作为库一部分的调试元数据的一部分(以便调试器可以将二进制位置转换为源文件位置)。

在编译为其他包含目录时,必须单独安装头文件并指定安装位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

包括静态库中的头文件

将头文件包含到静态库中

如何在不使用GCC中的limit.h头文件的情况下编译C程序?

为什么即使使用#ifndef HEADER_H也不能在头文件中声明和分配全局变量

头文件中的静态const std :: string

头文件中的内联与静态内联

头文件中的静态const变量声明

C ++头文件中的静态函数

头文件中的静态内联函数

头文件中的静态存储类

在头文件中无效使用非静态成员函数

在 solaris 11.0 中缺少 libproc.h 头文件

头文件中的“ ...”参数是否需要包含stdarg.h?

iks01a2_conf.h 模板中的头文件

在 Vim 中打开 C 库头文件

如何包含共享库中的头文件?

我何时需要在iso646.h头文件中的位运算符和逻辑运算符中使用替代宏?

IDE如何从头文件.h中找到共享库名.so

头文件包含和在静态库iOS中的可见性

如何将仅包含结构的.h文件包含在静态库中

在“ C”头文件中声明的静态函数

我应该使用哪个头文件而不是#include <bits / stdc ++。h>

添加使用swift类的目标c类来桥接头文件Projectname_swift.h

我们可以使用头文件而不指定其.h扩展名吗

在C中,我可以推迟头文件的“ typedef”,直到包含并使用头文件吗?

使用“.h”文件中的结构

Cmake:如何在Android Studio中包括.h文件以及从Android代码调用头文件的方法

在实现(.cpp)文件中不包括相应的头文件(.h)仍可以编译吗?

-make文件中的-I标志不会导致找到头文件(gtest / gtest.h)