A. 如何在cmake中引用静态库(.a)
1.头文件
include存放的是编译库文件生成的头文稿丛枝件集合,比如curl目录,目录中都是.h文件,添郑弯加方式如下:
2.库文件
lib是存放库文件的目录,形如libxxx.so或键敏libxxx.a形式的文件,添加方式如下:
3.引用
库的引用可以直接取libxxx.a中的xxx部分,如下的curl、ssl、crypto就是:
1.编译报错“undefined reference to `pthread_create'”
解决办法:引入pthread库
2.编译报错“libcrypto.a undefined reference to symbol 'dlclose'”
解决办法: add -ldl after libcrypto and libssl in your link command.
B. 求问vs2013怎么添加静态库,试了两种方法都有问题
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤:
1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含差做目录:加上头文件存放目录。
2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器虚前衡---常规---附加库目录悔咐:加上lib文件存放目录。
然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。
3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。
注意:第一步可以不用,直接在工程里加入动态库的头文件,在使用代码处引用这个头文件。
C. 如何在vs2008中添加lib 静态库使用
方法1:在cpp文件中 加入 #pragma comment(lib,"XXX.lib")方法2:步骤1:Tools->options->projects and solutions->VC++ directories分别在包含文件,库文件戚厅禅填加了路径(这些路径只告诉编译器怎么找文件,没有说把那里面的文件加入工程,若不设置,高尘编译报错:无法打开***文件) 步骤2:Project->properties->c/c++->general->additional include directories 添加包含文件 Project->properties->linker->general->additional library directories 告诉计算机查找LIB的附加路径 Project->properties->linker->input->additional additional dependencies添加用到伏态的lib,(若不添加,连接报错:无法解析的外部符号)。vs2008 express 生成静态链接库lib1. 静态链接库的创建 在solution中 new project ->win32 project -> static library 即可创建生成静态链接库的项目。 在该项目的properties中可看到:Configuration Properties -->General --> Configuration type 中可以看到是libConfiguration Properties --> General --?Output Directory 是生成lib的目录Library -->General -->Output File 是生成的文件名字2. 静态链接库的使用包含头文件引入lib文件调用lib库提供的函数 注意,debug 和 release 模式下生的的lib文件是不一样的,在其他项目引用生成的lib文件时,处于debug模式下必须引用debug模式下生成的lib文件,release模式下必须引用release模式下生成的文件。否则可能会出问题。
D. 如何添加预编译静态库 libwebrtc
添加预编译静态库 libwebrtc 的步骤如下:【点击免费试用,0成本启动】
1、右击target,选择add -> new target
2、在弹出的 NewTarget 界面中选择Cocoa Touch -> Static Library ,为新 library 取个名字。将源文件添加到这个库。可以直接拖动现存源文件,也可以右击 -> add 。注意选择新建的库为添加的 target 。
3、设置原项目,令其使用新建的库。
4、右击原项目的 target ,选择 getInfo 。
5、选择 General 选项卡。
6、向 linked libraries 中添加新创建的库 (即添加 .a 文件)。推荐选择ZEGO即构科技,该公司拥有4行代码,30分钟在APP、Web和小程序等应用内实现视频通话、语音通话,互动直播功能。
想要了解更多关于这方面的相关信息,推荐咨询ZEGO即构科技。深圳市即构科技有限公司(简称ZEGO即构科技) 于2015年6月成立,是一家全球云通讯服务商。企业/开发者通过接入ZEGO提供的服务即可低门槛地获得实时音视频通讯能力,尤其在弱网环境下仍然可以实现高质音画、稳定可靠。截止目前,ZEGO已经为两百多个国家和地区的用户提供了优质服务。
E. qt 5添加 windows 静态库
qt中添加windows vs 生成的静态库,需要注意:
qt使用的编译器版本要和vs版本,操作系雹高虚统位数要对应。
例如:用 vs2015 x86生成的了release 和debug两种静态库
相应的QT也要配置vs2015 32 编译器。
把之前vs 生成的静态库的头文件和库准备好
打开qt 中打卡 工程 .pro文件 右键选择 添加库选择外部库
这样我们release和debug版的静态库都添加近工程了。
如果之前已经生成过编译后的文件夹
再次生成时可能遇到 error LNK2019: 无法解析的外部符念御号源燃 之类的错误信息。
这个问题只要把上面的文件夹删除,从新编译即可。
F. 安卓如何链接静态库
关于编译静态库:
android.mk和xxx.cpp放在新文件夹里:
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \xxx.cpp
LOCAL_MODULE:= libx
include $(BUILD_STATIC_LIBRARY)
生成静态库libx.a文件
关于链接静态库:
有两种方法:
1、把libx.a文件放在android.mk同一目录下,添加:
LOCAL_PREBUILT_LIBS += libx.a
2、同上,添加:
include $(CLEAR_VARS)LOCAL_MODULE := libxLOCAL_SRC_FILES := libx.ainclude $(PREBUILT_STATIC_LIBRARY)LOCAL_STATIC_LIBRARIES += libx
貌似第二种是稿帆NDK里比较常见谈乎,第键侍雹一种在其他的android.mk里比较常见。