七牛 C/C++ SDK 重新编译
flyfish
目的:
编译支持Windows XP平台的Debug版和Release版的Lib
准备工具
CMake
Visual Studio 2013
SDK的下载
原文件夹名字太长了,所以文件夹改名为qiniu 这里放到了C:\qiniu
依赖文件的下载
c-sdk-wdeps 放到七牛的文件夹里只留下emu-posix
下载地址 https://github.com/qiniu/c-sdk-wdeps
curl库在其他的目录,编译支持xp平台
执行
C:\qiniu>cmake .
-- Building for: Visual Studio 12 2013
-- The C compiler identification is MSVC 18.0.40629.0
-- The CXX compiler identification is MSVC 18.0.40629.0
-- Check for working C compiler using: Visual Studio 12 2013
-- Check for working C compiler using: Visual Studio 12 2013 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 12 2013
-- Check for working CXX compiler using: Visual Studio 12 2013 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/qiniu
会自动生成关于Visual Studio 2013的解决方案
解决方案的配置
打开 Project.sln
字符集选择:使用Unicode字符集
配置类型:静态库(.lib)
平台工具集:Visual Studio 2013 - Windows XP(v120_xp)
Debug版的配置
附加包含目录
C:\qiniu.
C:\qiniu.\b64
C:\qiniu.\cJSON
C:\qiniu.\qiniu
E:\lib\curl\include
E:\lib\ssl\include
附加库目录
E:\lib\ssl\lib
E:\lib\curl\build\Win32\VC12\DLL Debug - DLL OpenSSL
Release的配置
附加包含目录
C:\qiniu.
C:\qiniu.\b64
C:\qiniu.\cJSON
C:\qiniu.\qiniu
E:\lib\curl\include
E:\lib\ssl\include
附加库目录
E:\lib\ssl\lib
E:\lib\curl\build\Win32\VC12\DLL Release - DLL OpenSSL
更改配置部分
C/C++ -》优化 -》优化 更改为 已禁用(/Od)
否则提示 命令行 error D8016: “/O2”和“/RTC1”命令行选项不兼容
C/C++ -》命令行 其他选项删除 -Wno-deprecated 或者 -Wno-deprecated -g
否则提示 error D8021: 无效的数值参数“/Wno-deprecated”
代码更改部分
base_io.c
更改头文件emu_posix.h所在的目录
#include "c-sdk-wdeps/emu-posix/emu_posix.h"
完成