2016 - 2024

感恩一路有你

cmake获取系统安装路径 如何使用cmake生成基于静态库的动态链接库?

浏览量:1152 时间:2023-05-30 22:32:29 作者:采采

如何使用cmake生成基于静态库的动态链接库?

这是可以不可以做到的。CMake的library目标,有一个OBJECT

模式,这个模式的library不会被archive成静态库,完全是一个“假的”库,产物是一堆对象文件。

声明时加上OBJECT:

使用时都很不光,你要不使用“这个目标的对象文件”的生成表达式,装在set_executable、assign_library

放源代码的位置,而不是target_link_library

的位置:

当然了这种需求并不太寻常修士,大部分情况下你是可以用支持静态库目标来做则是的事情,是因为动态和静态库只不过那就是对象文件穿越小说合集,还没有做而且的事情。我能想到的任何可以那样做的理由,应该是你想把项目四等分几个部分,而这几个部分之间的符号依赖是一锅粥,发到邮箱成静态库之后,链接时顺序没搞定。

按你的需求,当然不必须这个功能,你再再添加一个静态动态库就足够了:

详情这个可以相关参考cmake的add_library

指令的文档。

如何使用QtCreator导入cmake项目?

在Qt Creator中使用OpenCV库(Windows 7系统下编译器完成)编译OpenCV2.01去下载tdm-mingw-1.908.0-4.4.1-2并安装,安装完毕添加bin到系统路径。2按装Opencv2.0windows版本3安装好CMake4先打开CMake,配置源码与目标路径,选择MinGW Makefiles,生成目标Makefile5进入到设置中好的目标路径,something,转眼间生成沉淀所有的库配置Qt CreatorQt旗下的程序好象是需要动用qmake生成makefile文件。而qmake在解析路径的时候肯定不能识别空格,并且是需要以保证OpenCV的安装路径中不能包涵空格(C:/ProgramFiles/OpenCV是再不行的)。在修改工程文件的时候(这里题中为,后缀为pro),向工程中先添加200以内语句:INCLUDEPATHD:/Qt/OpenCV-2.0.0/include/opencvLIBSD:/Qt/OpenCV-2.0.0/lib/libcv200.dll.a/D:/Qt/OpenCV-2.0.0/lib/libcxcore200.dll.a/D:/Qt/OpenCV-2.0.0/lib/libml200.dll.a/D:/Qt/OpenCV-2.0.0/lib/libcvaux200.dll.a/D:/Qt/OpenCV-2.0.0/lib/libhighgui200.dll.a这样,在Qt中就可以不使用Opencv2.0了先打开CMake,试看看,发现到没有办法完成configure!原因是CMAKE_MAKE_PROGRAM没找不到,这个简单,可以修改该项为D:/Qt/2010.04/mingw/bin(您自个盯着改)。不再Configure,什么还?弹出来一大堆什么dll一直找不到!!好吧,我就把D:/Qt/2010.04/mingw/bin放在环境变量中去。DeleteCatch以后再来第二次,这下完了,连CMAKE_MAKE_PROGRAM都不用改了,自动出现能找到。成功configure。接着Generate看看。

文件 路径 目标 静态库 library

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。