1.64位系统上源码编译32位libcurl库
2.windowsä¸LIBåDLLçåºå«ä¸ä½¿ç¨
64位系统上源码编译32位libcurl库
有时候需要交叉编译libcurl,源码比如目标机器是生成位系统的,但是源码本地机器是位系统的,而且由于某些原因,生成开盘形态 指标源码我们无法在位系统上直接编译,源码所以需要用到交叉编译
libcurl是生成这么导入jdk源码依赖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指定链接的源码如何修改jasperreport源码库的头文件 配置LDFLAGS指定链接的库的路径然后再make && make install即可
当编译第三方库的时候,如果有CMakeLists.txt,生成直接用CMakeLists.txt编译就很方便;如果只有configure,源码那么需要先了解编译选项执行./configure –help来查看当前支持的基础的源码下载编译选项然后根据提示配置一下我们需要指定的选项,比如自己指定的openssl的版本的库和头文件路径名,比如CC的版本,比如安装路径等等 (当然,维系小程序源码如果不需要额外配置这些东西的话,直接走默认配置的话,那么直接执行./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è£ è½½ã