cmake error: includes target which requires target that is not in the export set,解决静态库的PRIVATE依赖导出问题

问题描述 最近在使用 interface libraries时出了个小问题。 示例如下,我希望target not_exported只是作为fse_cas_static 的private类的依赖库内部使用,不希望在config file中导出对它的依赖。 # 创建静态库 add_librar...

2018-04-29 14:18:12

阅读数:106

评论数:0

libjpeg-turbo 命令行编译脚本(MinGW/MSVC/linux)

libjpeg-turbo用CMAKE命令行编译还是很方便的 编译libjpeg-turbo需要NASM支持,编译前请下载并正确安装。 mkdir build cd build # 生成Makefile cmake -G "MinGW Makefiles" ...

2018-04-26 16:34:15

阅读数:145

评论数:0

cmake:Cannot specify include directories for imported target

问题描述 当使用INTERFACE选项调用target_include_directories命令向IMPORTED target添加include文件夹时会报如题的错误,过程描述: # 创建一个imported target MyLib add_library(MyLib SHARED...

2018-04-26 09:50:21

阅读数:104

评论数:0

cmake:用于查找libjpeg-turbo的module FindTurboJPEG.cmake

libjpeg-turbo的安装包没有提供用于CONFIG模式查找包(find_package)的cmake脚本,如果cmake脚本中要查找libjpeg-turbo库,就得自己写脚本。 于是我参照cmake 查找标准libjpeg库 的Module FindJPEG源码的写法实现了libjpe...

2018-04-25 22:23:20

阅读数:130

评论数:0

cmake:DEBUG_POSTFIX 根据debug/release类型指定target的输出文件名

在用cmake生成工程文件(such as Makefile)编译项目的时候,有时我们希望debug/release生成的二进制文件在文件名上有区别: 比如对于target project1,在debug模式编译的dll,希望在Debug模式下生成的文件名为project1_d.dll,以与re...

2018-04-18 00:05:57

阅读数:268

评论数:0

cmake:msvc分别对不同的target使用不同的运行库选项(/MT或/MD)

很久以前写过一篇关于cmake下为msvc设置/MT的文章: cmake:msvc编译第三方库时使用/MT静态库连接c/c++ runtime library 当时是为了解决用msvc编译时使用/MT连接static c library的问题。CMakeLists.txt中添加如下的代...

2018-04-17 13:49:58

阅读数:95

评论数:0

opencv:windows下调用cvShowImage等窗口显示函数报错:The function is not implement

自己在windows下用cmake成功编译了opencv 2.4.13.2,但在实际调用cvShowImage函数时报错了: OpenCV Error: Unspecified error (The function is not implemented. Rebuild the libr...

2018-02-08 17:38:40

阅读数:470

评论数:0

Caffe: Could not find PROTOBUF Compiler(Profobuf 3.0 above)

在用cmake生成Caffe工程文件的时候,如果你使用Protobuf 3.0以上的版本,cmake可能会产生如下的报错: CMake Error at cmake/ProtoBuf.cmake:18 (message): Could not find PROTOBUF Compile...

2017-07-15 11:25:37

阅读数:3672

评论数:0

OpenBLAS:改进OpenBLASConfig.cmake生成方式,解除cmake脚本的路径依赖

当我们用OpenBLAS提供的Makefile进行编译,并用make install PREFIX=/you/install/path,安装到指定的路径时,你会发现,/you/install/path/lib/cmake/openblas/OpenBLASConfig.cmake文件中OpenBL...

2017-07-09 12:39:37

阅读数:2261

评论数:0

MSVC/MinGW中导入glog静态库的正确方式

在linux下使用glog静态库,编译连接时只要加上glog静态库文件(.a)就可以了,在windows环境,我也同样的办法在自己的项目中使用glog静态库,用msvc/mingw编译。。。然而链接时报错了,无数的错误都是找不到glog的符号(undefined reference)… 我的项目...

2017-07-06 17:29:33

阅读数:1028

评论数:0

cmake: 使用jom实现msvc工程并发编译提高速度(-j)

msvc提供的nmake并没有并发编译功能(类似gcc make的-j参数指定并发编译的任务数), 而第三方工具jom(http://wiki.qt.io/Jom)解决了这个问题,jom可以像gcc 的make一样 通过-j参数指定并发编译,让cpu全速运行,可以大大提高编译速度,节省大型项目的...

2017-06-28 21:43:30

阅读数:2017

评论数:0

cmake:msvc编译第三方库时使用/MT静态库连接c/c++ runtime library

关于在cmake生成msvc工程时静态链接c/c++运行库的问题,很久以前写过一篇博客《cmake设置msvc的运行库(runtime library)塈指定openjpeg使用静态库》。当时的办法是在CMakeLists.txt中加一段代码将C_FLAGS_XXX,CXX_FLAGS_XXX等所...

2017-06-27 00:10:50

阅读数:1766

评论数:0

windows下msvc/mingw静态编译 lmdb的CMakeLists.txt

LMDB的全称是Lightning Memory-Mapped Database,闪电般的内存映射数据库,在github可以找到源码 https://github.com/LMDB/lmdb/tree/mdb.master/libraries/liblmdb 在caffe中被用到,这个数据库...

2017-06-23 13:48:00

阅读数:689

评论数:0

cmake:vs2015/MinGW静态编译leveldb

leveldb是google的开源项目(https://github.com/google/leveldb), 在linux下编译很方便,然而官方版本却没有提供在windows下的编译方式。还好,开源的世界热心人很多,同样在github上找到了cmake编译版本(https://github.co...

2017-06-21 23:32:10

阅读数:683

评论数:0

glog/gflags:linux下用cmake通过MinGW-w64交叉编译生成windows版本静态库

ubuntu16下,先要安装mingw sudo apt-get install mingw-w64 如果没有安装cmake,记得安装, sudo apt-get install cmake 做交叉编译时要指定toolchain文件Toolchain-mingw.cmake# 设置交叉编译...

2017-06-14 23:02:32

阅读数:1987

评论数:0

linux下用cmake对caffe静态编译时-static-libstdc++参数无效的问题

以下是用于cmake 生成 Makefile文件对Caffe进行静态库连接编译的shell脚本, #!/bin/bash # cmake 静态编译 caffe-ssd 代码脚本 # author guyadong@gdface.net shell_folder=$(cd "...

2017-06-12 17:50:01

阅读数:3106

评论数:0

opencv2.4.9:为caffe编译精简的opencv_core,opencv_imgproc,opencv_highgui全静态库

编译caffe时用到了opencv,其实caffe只用到OpenCV很小一部功能 ,具体就是opencv_core,opencv_imgproc,opencv_highgui三个库,用于图像读写,如果能将这个三个库全静态编译,就能让caffe在运行时不再依赖opencv。 但量opencv_hi...

2017-06-09 23:32:12

阅读数:2485

评论数:0

caffe:cmake编译指定glog,gflag路径

当使用cmake编译caffe的情况下,在 cmake生成Makefile时会自动找到系统安装的glog,gflag,但是如是我们自己编译了一个glog,gflag,并没有安装在(/usr)系统目录下,而是放在用户目录(/home)下,要想使用这个glog,gflag版本,不做处理cmake是找不...

2017-06-09 18:31:42

阅读数:2777

评论数:0

cmake 3.5:find_package(HDF5) 指定HDF5_ROOT无效问题

我们知道cmake提供了FindHDF5.cmake(位置:$cmake_root/Modules)模块用于搜索HDF5组件。 通过查看FindHDF5.cmake的源码可以知道,可以通过定义HDF5_ROOT环境变量,来指定要使用的HDF5位置。 HDF5_ROOT是个很有用的参数,当系统安...

2017-06-08 16:17:02

阅读数:2104

评论数:2

linux下protobuf 下载并cmake编译安装全过程脚本

github上下载最新版本的protobuf源码zip包,并解压缩到本地 fetch_protobuf.sh#!/bin/bashshell_folder=$(cd "$(dirname "$0")";pwd) pushd $shell_folder #如...

2017-06-05 12:16:03

阅读数:2074

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭