【手机阅读 源码】【源码解析博客】【skynet框架源码】源码生成lib

时间:2024-11-26 12:18:20 来源:dgc源码 分类:时尚

1.64位系统上源码编译32位libcurl库
2.windows中LIB和DLL的区别与使用

源码生成lib

64位系统上源码编译32位libcurl库

       有时候需要交叉编译libcurl,源码比如目标机器是生成位系统的,但是源码本地机器是位系统的,而且由于某些原因,生成手机阅读 源码我们无法在位系统上直接编译,源码所以需要用到交叉编译

       libcurl是生成源码解析博客依赖openssl的,所以先编译openssl的源码位库 完整编译选项配置如下:

       详细选项含义如下:预先已经export CC的版本 配置-m指定编译位的库 配置–prefix指定openssl的安装目录 配置–openssldir指定openssl的头文件目录 配置shared关键字指定编译时生成动态库(libssl.so/libcrypto.so及其相关软连接)然后再make && make install即可

       有时候有的系统是默认安装了位zlib库的,那么就可以跳过这一步,生成但是源码有的系统需要自己下载编译zlib-位库 完整编译选项配置如下:直接修改CMakeLists.txt文件,增加以下两行 set(CMAKE_C_FLAGS “-m”) set(CMAKE_CXX_FLAGS “-m”) 详细选项含义如下:配置CMAKE_C_FLAGS指定编译位库环境 配置CMAKE_CXX_FLAGS指定编译位库环境然后再mkdir build && cd build && cmake .. && make && make install即可

       最后就是生成编译libcurl 完整编译选项配置如下:

       详细选项含义如下:配置PKG_CONFIG_PATH指定启动openssl选项(启动这个选项,就会默认链接lssl,源码lcrypto,生成lz三个库) 配置CFLAGS指定编译位库环境 配置CPPFLAGS指定链接的源码skynet框架源码库的头文件 配置LDFLAGS指定链接的库的路径然后再make && make install即可

       当编译第三方库的时候,如果有CMakeLists.txt,生成直接用CMakeLists.txt编译就很方便;如果只有configure,源码那么需要先了解编译选项执行./configure –help来查看当前支持的qq lhz源码编译选项然后根据提示配置一下我们需要指定的选项,比如自己指定的openssl的版本的库和头文件路径名,比如CC的版本,比如安装路径等等 (当然,flink 源码安装如果不需要额外配置这些东西的话,直接走默认配置的话,那么直接执行./config或者./configure就行)然后在生成Makefile之后,再make && make install即可

windows中LIB和DLL的区别与使用

       å…³äºŽlib和dll的区别如下:

       ï¼ˆ1)lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要lib;如果要使动态链接的程序运行起来,只需要dll。

       ï¼ˆ2)如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体内容;如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。

       ï¼ˆ3)动态链接的情况下,有两个文件:一个是LIB文件,一个是DLL文件。LIB包含被DLL导出的函数名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到DLL文件。在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中相应函数代码的地址,从而节省了内存资源。DLL和LIB文件必须随应用程序一起发行,否则应用程序会产生错误。如果不想用lib文件或者没有lib文件,可以用WIN API函数LoadLibrary、GetProcAddress装载。