为什么我不能将静态库包含在 cpp 文件中?
why can't i include a static library into a cpp file?
是否有办法#include "library。或者在CPP或cc文件中是。so或。o ?
我想这样做,因为我在另一个文件中使用这个文件。
#include
为c++代码。
.a
, .so
和.o
文件不是c++代码。
您更有可能想要#include
一个c++头文件(通常以.h
或.hpp
结尾),并且链接一个目标文件。
您可以在Visual c++编译器中使用#pragma comment(lib, "libname")
来完成此操作-并且相似性有些可疑。但是,您必须为自己喜欢的编译器找到任何替代方案。
#include
用于告诉编译器关于您将在代码中调用的库中的函数,也就是说它包含c++代码。通常采用头文件的形式,其中包含函数声明。
。A和。so和。o文件是编译后的代码,可以使用链接器链接到编译后的代码中。
编辑:这里有关于编译和链接的介绍
#include
语句基本上只是将其他源代码包含到当前文件中。也就是说,静态库不是源代码,不能以这种方式包含。静态(和共享)库在所有编译完成后被链接到项目中。
你所要做的就是包括一个包含你将要使用的函数原型的文件。这样编译器就知道它在那里,链接器就会把剩下的部分整理出来。
有关如何创建和链接静态/共享库的更多信息,请查看此页面
这根本没有意义。
通过链接在编译时包含库的代码。
通常有一个你可以包含的库的头文件
相关文章:
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何在cpp文件之间切换窗口?在Qt中
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 库标题在标题中不可见,但在 cmake build 下.cpp文件中完全可见.为什么?
- C++ 链接到单独的.cpp文件说"multiple definitions"
- 在 cpp 文件中隐藏采用模板参数引用的方法
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 包含在.cpp文件中包含在 .h 文件时包含
- C++(.cpp文件和.h文件)拆分代码并添加一个函数,提取 - 这很容易吗?
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 如何使用线程类编译 cpp 文件?
- 使用 Powershell 命令将 cpp 文件的文件夹编译为 GNU 的 g++
- 我应该将外部标头放在 .h 文件还是.cpp文件中?
- 从另一个 cpp 文件更改结构内、映射键内的变量