
cmake
文章平均质量分 73
SofterICer
这个作者很懒,什么都没留下…
展开
-
构建系统自动化-autoreconf
autoreconf是一个GNU Autotools工具集中的一个命令,用于自动重新生成构建系统的配置脚本和相关文件。Autotools是一组用于自动化构建系统的工具,包括Autoconf、Automake和Libtool。它们通常用于跨平台的软件项目,以便在不同的操作系统和编译环境中进行配置和构建。autoreconf命令的作用是根据项目中的configure.ac文件和相关的Makefile.am文件,自动生成configure脚本和其他必要的文件。原创 2023-08-22 15:22:58 · 1876 阅读 · 0 评论 -
GNU-gcc编译选项-1
-Wno-error=empty-body、-Wno-error=parentheses、-Wno-error=pointer-to-int-cast、-Wno-error=missing-braces、-Wno-error=unused-result:这些是警告选项,用于禁止特定类型的警告被视为错误。这个选项通常与-c选项一起使用,用于为生成的目标文件指定一个自定义的名称。综合起来,-c选项用于编译源代码文件,-o选项用于指定生成的可执行文件或库文件的名称,-MT选项用于指定生成的目标文件的名称。原创 2023-08-22 15:04:45 · 1062 阅读 · 0 评论 -
CMake教程6:调用lib、dll
之前我们学到了如何编写一个可执行程序和Library,在继续学习之前,需要解释下target,在cmake中我们可以给executable和library设置一个target名字,这样可以方便我们在后续对target进行更加详细的属性设置。本节我们将学习如何在项目中引用lib,相关的api有:makefile复制代码target_xxx的命令颗粒度更细,是比较高版本的命令。原创 2023-08-14 23:18:27 · 4604 阅读 · 0 评论 -
Cmake链接第三方库的三种方法
注意,在第3种方法下,add_executable语句一定要在link_directories之后,否则会找不到库文件。(不知道是不是新版本的cmake(使用的版本是3.15.3)才会有这个问题。网上的例子很多都是放在link_directories之前的。使用的工程名称为Test_lib(可执行文件名字),主程序为library.c。(1)通过OpenBLASConfig.cmake文件(其中的内容是lib和头文件位置),然后使用find_package查找即可。里面包含的是库文件和头文件的路径设置。原创 2023-08-14 23:09:31 · 810 阅读 · 0 评论 -
Cmake链接第三方库的三种方法
注意,在第3种方法下,add_executable语句一定要在link_directories之后,否则会找不到库文件。(不知道是不是新版本的cmake(使用的版本是3.15.3)才会有这个问题。网上的例子很多都是放在link_directories之前的。使用的工程名称为Test_lib(可执行文件名字),主程序为library.c。(1)通过OpenBLASConfig.cmake文件(其中的内容是lib和头文件位置),然后使用find_package查找即可。里面包含的是库文件和头文件的路径设置。原创 2023-08-14 23:08:58 · 1694 阅读 · 0 评论 -
cmake链接.lib库
这里,your_target_name 是你的目标名称(例如可执行文件或库)而 library_name 是你要链接的库文件名(不包含路径和扩展名)。指定库的全路径(如果需要):如果你的库文件不在默认的搜索路径下,可以在 target_link_libraries() 中指定库文件的全路径。请根据实际情况修改路径和变量名,以适应你的项目。使用 target_link_libraries() 函数将要链接的库添加到目标可执行文件或库中。使用 link_directories() 函数设置要搜索库文件的路径。原创 2023-08-14 23:02:52 · 2371 阅读 · 0 评论 -
cmake-ibmtpm1682编译
-whole-archive选项作用是设置连接器将库中的符号全部加载到链接的库中,–no-whole-archive表示关闭编译器。告诉编译器,从这里开始,所有的库的内容都包含到yyy.so中,这种方式生成的so较大,之后依赖该yyy.so的程序可以直接使用yyy.so所依赖的静态库xxx中的函数而不需要再次静态链接xxx。告诉编译器,从这里开始,以后的库的内容不用都包含到so中,so体积较小,依赖该so的程序需要使用静态库xxx中未被yyy.so使用的函数时需要再次链接xxx。解决方法,去掉 -c。原创 2023-08-14 17:01:45 · 176 阅读 · 0 评论 -
make/makefile/cmake/nmake
2]1.用编辑器编写源代码,如.c文件。2.用编译器编译代码生成目标文件,如.o。3.用链接器连接目标代码生成可执行文件,如.exe。但如果源文件太多,一个一个编译那得多麻烦啊?于是人们想到,为啥不设计一种类似批处理的程序,来批处理编译源文件呢?于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。原创 2023-08-11 20:44:05 · 213 阅读 · 0 评论