使用CMake编译跨平台静态库】的更多相关文章

在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑.因为很多开源的程序,比如png,都是自带编译脚本的.我们可以使用下列脚本来进行编译:   . / configure    -- prefix = / xxx / xx -- enable - static = YES make make install 相信手动在类Unix系统上面编译过开源程序的同学对上面的命令肯定非常熟悉.但是,如果不配置编译器和一些编译.链接参数,这样的操作,最后编译出来的静态…
To build OpenCV as static library you need to set BUILD_SHARED_LIBS flag to false/off: cmake -DBUILD_SHARED_LIBS=OFF .. reference: http://stackoverflow.com/questions/7583172/opencv-as-a-static-library-cmake-options…
您可以省去如下步骤,直接下载我编译好的: http://download.csdn.net/detail/u011258240/9710331 一.编译opencv2.4  不带contrib 1. 下载opencv源码 2. 将opencv 源码放在linux 的一个文件夹下(记得不要放在共享文件夹下,不然会出现软链接的错误) 3. opencv目录下新建文件夹 release  ( 注:如果是3.3版本,还要删除这两个文件,很关键 rm -rf CMakeCache.txt CMakeFil…
一.git下载:https://github.com/davisking/dlib 官网:http://dlib.net/ 二.vs中编译成静态库 1.在vs2015中创建静态库工程(vs2015以上的c++版本才支持) 2.在源文件中添加dlib\dlib\all\source.cpp,不用移动,直接添加git下的即可 3.直接编译,会生成xxx.lib静态库,添加到自己的工程就可以了.…
原文网址:https://www.jianshu.com/p/651513cab181 本篇文章为大家推荐两个脚本,用来iOS系统下编译OpenSSL通用库,如果想了解编译具体过程,请参看<iOS编译OpenSSL静态库> 脚本一 下载:https://github.com/x2on/OpenSSL-for-iPhone 说明: 该脚本带有demo,同学们可以研究下源码,了解加密解密的过程. 等待下载完成,终端进入文件目录,执行build-libssl.sh脚本文件 $ cd .../Open…
转载:http://www.cnblogs.com/imlucky/archive/2012/08/01/2617851.html 今天编译skia库,增加图片解码库时总是无效.按照此博客的方法修改后成功,特此转载. android编译skia静态库时,图片解码库无法注册的问题 经过千辛万苦将skia编译成了静态库,但是发现图片解码都不成功,后来发现是图片解码库没有注册成功,可能是代码优化导致的,但是加上-O0编译选项也不行.后来就在SkImageDecoder_Factory.cpp中直接调用…
关于vs潜在的升级问题概述 (Visual C++)查看官网的介绍:潜在的升级问题概述 (Visual C++).主要问题: 1. 如果使用 /GL(全程序优化)进行编译,则生成的对象文件只能使用生成它时所用的同一工具集进行链接.即若在编译静态库时开启了全程序优化,那么编译出的静态库不可移植. 2. 在 Visual Studio 2013 及更低版本中,不能保证使用不同编译器工具集和运行时库版本生成的对象文件 (OBJ).静态库 (LIB).动态库 (DLL) 和可执行文件 (EXE) 之间的…
ZLIB静态库的编译 下载ZLIB源码 ZLib官网下载或者GitHub上直接 clone 下来即可 www.zlib.net 截至目前最新版本1.2.1.1本 如下图我选择从官网下载 下载完以后解压得到源代码目录结构大致如下 amiga├─contrib│ ├─ada│ ├─amd64│ ├─asm686│ ├─blast│ ├─delphi│ ├─dotzlib│ │ └─DotZLib│ ├─gcc_gvmat64│ ├─infback9│ ├─inflate86│ ├─iostream│…
为iOS编译FFmpeg静态库 
 环境:OS X Yosemite (版本10.10.5) Xcode (Version 7.1.1 (7B1005)) 
 
 一.资料准备: (1)ffmpeg源码:https://github.com/FFmpeg/FFmpeg.git(也可以不用提前下载,在运行脚本的时候由脚本下载,这样脚本下载的话会花费很多时间, 提前下载会节约不少时间). (2)yasm1.3.0:http://yasm.tortall.net/Download.html() 
 (…
继续完善Hello World,建立它的共享库, 包括静态库和动态库. 本节的任务: 1,建立一个静态库和动态库,提供HelloFunc函数供其他程序编程使用,HelloFunc 向终端输出Hello World字符串. 2,安装头文件与共享库. 3, 编写一个程序使用创建的共享库(静态库和动态库). cd /home/ccj/CMakeDemo mkdir t3   cd /backup/cmake/t3 mkdir lib   在t3目录下建立CMakeLists.txt,内容如下: PRO…
c程序编译流程 程序的基本流程如图: 1. 预处理 预处理相当于根据预处理指令组装新的C/C++程序.经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件无异,只是内容上有所不同. 读取C/C++源程序,对其中的伪指令(以#开头的指令)进行处理 ①将所有的"#define"删除,并且展开所有的宏定义 ②处理所有的条件编译指令,如:"#if"."#ifdef"."#elif".&…
参考链接 Qt5.3 Tools and Versions MinGW ICU ActivePerl Qt 安装MinGW工具链环境 这里在Win32环境下要安装一个MinGW工具链,这里最好是先安装一个Qt环境,使用Qt自带的MinGW工具链,我这里是先安装一个Qt5.6的环境再用它来编译Qt5.3.2的静态库.下载并安装ActivePerl软件. 这里要用到MSYS环境,把编译ICU,openssl的gcc 都指向QT5.6.1自带的工具链GCC,这样才能保能Qt,ICU,openssl编译…
1.编译静态库 // add.h #pragma once class Add { public: Add(void); ~Add(void); int add(int a,int b); }; #include "add.h" Add::Add(void) { } Add::~Add(void) { } int Add::add(int a,int b) { return a+b; } 编译运行,在Debug目录下生成MyStaticLib.lib 使用静态库  ------ 把头文…
第一步:下载gas-preprocessor 1.1 下载https://github.com/libav/gas-preprocessor 1.2 拷贝 gas-preprocessor.pl 到 /usr/sbin 目录,命令为:sudo -r gas-preprocessor.pl /usr/sbin 1.3 修改 gas-preprocessor.pl 文件权限,命令为:chmod 777 /usr/sbin/gas-preprocessor.pl 注意:如果执行1.2出现 Operat…
静态库 有时候需要把一组代码编译成一个库,这个库在很多项目中都要用到,例如libc就是这样一个库, 我们在不同的程序中都会用到libc中的库函数(例如printf),也会用到libc中的变量(例如以后 要讲到的environ变量).本文将介绍怎么创建这样一个库. 这些文件的目录结构是: $ tree . |-- main.c `-- stack |-- is_empty.c |-- pop.c |-- push.c |-- stack.c `-- stack.h 1 directory, 6 f…
项目中需要用到ORTP,我采用的编译环境是 VC2013,当我在项目设置中将设置为静态库是,发现没有导出函数,比如在需要连接 oRTP.lib库时提示 找不到 ORTP_init; 解决办法是 :在ORTP库的项目中和需要连接ORTP库的项目中 添加预处理器定义  ORTP_STATIC ,就可以了 程序猿们,我也跟风开了网店,主要经营土特产,云南核桃,四川正宗土鸡蛋鸡蛋.有需要的就支持一下小店哈  七彩山川美食(http://qcsc.taobao.com)…
add_executable(main main.cpp) target_link_libraries(main ${CMAKE_SOURCE_DIR}/libbingitup.a) 静态库和动态库共存时,cmake会默认先链接静态库,如果要强制使用静态库,在CMakeLists.txt中如此直接指明 或者这样做也可以 So, if you want to link to a static library, you need to search for that static library:…
Windows系统下 vs2012编译ffmpeg 动态库 前面已经有文章讲述,本文将讲述如果编译生成ffmpeg静态库以方便 在vs2012下调用. 准备工作:安装MinGW环境,修改ffmpeg配置文件,这两步均与编译动态库相同,这里不再赘述.唯一不同的不同的 是配置命令,生成静态库的命令是: ./configure --toolchain=msvc --enable-static --enable-gpl --enable-version3 --enable-librtmp --extra…
github上有一个开源项目,已经为你编译openssl建好了工程. 地址:https://github.com/aluvalasuman/OpenSSL1.0.1cForAndroid 选择需要的版本,我用的是1.01. 编译环境: 系统:MacOS NDK:r10d 编译过程: 动态库: 1.解压 OpenSSL1.0.1cForAndroid-master.zip,可以看到一个完整的android工程. 2.cd 到工程目录. 3.执行命令ndk-build. 4.在工程目录的obj文件夹…
近期升级了系统到Mac OS X 10.10 而且更新了XCode6.1和iOS 8.1 之前app用到的libmp3lame.a静态库.也要支持64位的模拟器(x86_64)和64位的真机(arm64)指令集.须要又一次编译 查阅了下资料,依照例如以下步骤,并做了些凝视和修改 1.http://sourceforge.net/projects/lame/files/lame/3.99/ 下载lame的最新版本号解压到一个文件夹里比如 lame,全路径例如以下/Users/8wm/Desktop…
最近在学习cocos2dx的过程中需要和服务器进行交互,所以这几天在学习libpomelo静态库的编译和使用.之前在windows系统下编译libpomelo,并在VS中引入比较顺利:但是,目前对Mac系统和XCode不是很熟悉,所以多花了些时间.不过,最终还是成功了,在这里就将我编译引入libpomelo静态库的过程记录下来,也分享给和我一样遇到问题的朋友们. 准备工作 libpomelo下载地址:https://github.com/NetEase/libpomelo或者http://pan…
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5477664.html 1. 在“属性”-“配置属性”-“常规”-“配置类型”里面设置“静态库(.lib)” 此时已经没有“链接器”的选项了,因而“包含目录”即便用opencv的动态库的路径也没事. 2. 在“属性”-“配置属性”-“C/C++”-“代码生成”-“运行库”里面设置“多线程(/MT)”…
环境:CentOS6.6+tinyxml_2_6_21.下载并解压tinyxml_2_6_2.zip unzip tinyxml_2_6_2.zip 2.在tinyxml文件夹里创建一个CMakeLists.txt文件,并将内容设置为 cmake_minimum_required(VERSION 2.8) project(TinyXMLLIB) include_directories(./) aux_source_directory(./ LIB_SRCS) #add_definitions(-…
cmake -G"Visual Studio 9 2008 Win64" 以上命令得用cd命令切换到顶层CMakeLists.txt的当前目录,才能生效 以下是CMakeLists.txt的代码 cmake_minimum_required(VERSION 2.8) PROJECT(FFI) add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-D_LIB) #包含工程所需要的头文件路径 include_director…
使用的是cmake gui进行编译的,路径输入好之后,点configure配置vs版本,这里是vs2013版本,然后如果画面出现红色的 需要再点击一下 Generate 然后直接点open project 打开工程,然后编译 INSTALL 就可以. 下面是网上别人分享的教程: 原贴地址:https://blog.csdn.net/gggg_ggg/article/details/52299369 -------------------------------------------------…
源代码地址:https://github.com/google/snappy 下载 git clone https://github.com/google/snappy 编译 进入snappy源代码文件夹,运行命令: ./autogen.sh 报错 "./autogen.sh: line 3: aclocal: command not found" 通过http://superuser.com/questions/657925/cygwin-rtorrent-installing-li…
进入项目对应的Build目录后,以下指令: $lipo -create Debug-iphoneos/libSalamaDeveloper.a Debug-iphonesimulator/libSalamaDeveloper.a -output libSalamaDeveloper.a…
在此链接下 https://github.com/feuvan/opencore-amr-iOS 下载它的源码到本地, 然后cd到此目录下,在终端输入命令./build_ios_xcode6.sh,便可.很奇怪的是,为什么一定要用./build_ios_xcode6.sh,而不能build_ios_xcode6.sh?…
wget http://downloads.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.gz tar -zvxf zbar-0.10.tar.gzsudo apt-get install python-gtk2-devsudo apt-get install libqt4-devexport CFLAGS="-fPIC"     #这句话很关键,不然会出现这种错误:relocation R_X86_64_32 against…
目录 . 引言 . 交叉编译 . Cygwin简介 . 静态库编译及使用 . 动态库编译及使用 . MinGW简介 . CodeBlocks简介 0. 引言 UNIX是一个注册商标,是要满足一大堆条件并且支付可观费用才能够被授权使用的一个操作系统.linux是unix的克隆版本,是由其创始人Linus和诸多世界知名的黑客手工打造的一个操作系统.为什么linux和unix之间有很多软件可以很轻松的移植?因为linux也满足POSIX规范,所以在运行机制上跟unix相近.同时,POSIX标准也是Li…