
cmake
文章平均质量分 62
金色熊族
这个作者很懒,什么都没留下…
展开
-
CMake学习笔记(五)区分PROJECT_SOURCE_DIR, CMAKE_SOURCE_DIR和CMAKE_CURRENT_SOURCE_DIR
2.2 如果子目录的CMakeLists.txt没有使用project命令,则PROJECT_SOURCE_DIR等于上一层CMakeLists.txt的PROJECT_SOURCE_DIR。不论CMakeLists在根目录还是子目录,也不论CMakeLists.txt里面有没有调用project函数,CMAKE_SOURCE_DIR都等于根目录路径。1 根目录下的CMakeLists.txt的PROJECT_SOURCE_DIR等于根目录路径;sub2目录下的CMakeLists.txt。原创 2025-04-26 17:28:39 · 413 阅读 · 0 评论 -
CMake学习笔记(四)cmake --build使用踩坑记录
将在目录中产生结果文件。但是实测发现,这里有坑:如果CMakeCache.txt等文件没有产生在中的话,cmake --build 将报错。只有先在目录下执行cmake ..,使得CMakeCache.txt产生在中,cmake -build 才能起作用。编译结果最终产生在build目录下。原创 2024-10-10 19:39:05 · 2140 阅读 · 0 评论 -
如何在Android Studio中找到CMakeLists.txt的打印信息
的描述,MESSAGE函数打印的STATUS级别的信息在android studio中是看不到的。所以采用WARNING级别打印。下面使用android studio 2023.2.1打印信息。原创 2024-10-09 22:06:03 · 572 阅读 · 0 评论 -
CMake学习笔记(三)区分macro与function
因为macro的set(in "2")又定义了一个新的变量in,并赋值2。在执行set(in "2")之前,message("in = "${in})的内容已经被替换成message("in = 1"),所以set(in "2")对后面的语句没有影响,仍然输出1。(事实上,set(in "2")把in当成了一个新的全局变量,后面还会提到)。这也是set(in "2")起作用的原因。可见,test(1)调用时,in = 1,但是set(in "2")随后将in 改为2.所以接下来打印in = 2。原创 2024-04-05 18:31:35 · 796 阅读 · 0 评论 -
CMake学习笔记(二)从PROJECT_BINARY_DIR看外部编译和内部编译
1 从哪个路径执行cmake命令,变量PROJECT_BINARY_DIR就等于这个路径2cmake产生的中间文件、结果文件都保存在与CMakeLists.txt一起的路径下,这叫做内部编译。反之,两者分开的,就是外部编译。3 ADD_SUBDIRECTORY的第二个输入参数指定了cmake产生结果文件的保存路径。假如不指定这个输入参数,则用来存放编译结果的文件夹就是${PROJECT_BINARY_DIR};原创 2024-03-26 22:14:43 · 1285 阅读 · 0 评论 -
CMake学习笔记(一)一个最简单的CMakeLists嵌套示例
这里,src文件夹需要稍后手动建立,因为在cmake之前,src里面要放进去源码。但是bin文件夹不需要手动建立,因为cmake过程中会自动建立bin。bin用来存放编译产生的结果文件。bin只是习惯的名称,你也可以换个名字,如bin1。这里顺便讲一下ADD_SUBDIRECTORY的用法它的第一个输入参数是用来存放源代码的文件夹,第二个参数是用来存放编译结果的文件夹。第二个参数可以输入,也可以不输入。原创 2024-03-26 21:00:12 · 855 阅读 · 0 评论 -
windows10安装ninja过程记录
windows10安装ninja过程记录原创 2022-11-03 20:16:11 · 6686 阅读 · 3 评论 -
从零开始学习makefile(9) makefile的DESTDIR变量
从零开始学习makefile(9) makefile的DESTDIR变量翻译 2022-10-22 20:39:25 · 879 阅读 · 0 评论 -
从零开始学习makefile(8) gcc -MM的作用
从零开始学习makefile(8) gcc -MM的作用原创 2022-10-22 20:20:48 · 1049 阅读 · 0 评论 -
从零开始学习makefile(7) makefile的filter的作用
从零开始学习makefile(7) makefile的filter的作用原创 2022-10-22 11:58:30 · 1515 阅读 · 0 评论 -
从零开始学习makefile(6)makefile的subst的作用
makefile的subst的作用原创 2022-10-20 19:39:22 · 226 阅读 · 0 评论 -
从零开始学习makefile(5)makefile中patsubst的作用
makefile中patsubst的作用原创 2022-10-20 17:59:22 · 1595 阅读 · 0 评论 -
从零开始学习makefile(4)makefile中%、$@、$<、$^的作用
makefile中%、$@、$原创 2022-10-20 15:26:54 · 3202 阅读 · 0 评论 -
gcc -c/-o的作用
gcc -c/-o的作用原创 2022-10-20 13:06:20 · 965 阅读 · 0 评论 -
gcc -I 代表什么意思
gcc -I 代表什么意思原创 2022-10-20 12:00:45 · 1278 阅读 · 0 评论 -
ubuntu编译安装mysql
1 先安装bison libtool gettext texinfo flex cmake openssl ncurses等软件。这些软件的源码编译过程见我前面的博客。注意,-DWITH_BOOST=~/src/mysql-8.0.15/boost/ 是你的boost源码放置的路径,酌情修改;2 下载源码,注意下载有boost的版本(Includes Boost Headers)最后两行 是你的gcc g++安装的路径,也要酌情修改。7 确认安装成功,输入下列指令。4 进入解压后的文件夹。原创 2022-09-05 15:40:24 · 1234 阅读 · 1 评论 -
从零开始学习makefile(3)=和:=的区别
“:=”的赋值立刻发生,而“=”的赋值只在调用“=”左边的变量时才发生。或者说,=只是做了一个变量到另一个变量的链接原创 2022-06-04 17:37:42 · 657 阅读 · 0 评论 -
从零开始学习makefile(2)自动推导
介绍makefile自动推导.o文件和.cpp之间的编译关系原创 2022-06-04 16:59:33 · 373 阅读 · 0 评论 -
从零开始学习makefile(1).PHONY的作用
最简单的makefile,介绍了.PHONY的作用原创 2022-06-04 15:48:33 · 281 阅读 · 0 评论 -
VS2013 + Qt5.7编译ctk源码过程记录
网上介绍如何编译ctk框架的文章很多,大多数主张改ctk的源码,然后编译。我尝试了其中一个比较详细的介绍,发现走到install这一步总是失败。尽管install这一步不是必须的,但是总给人不圆满的感觉。另有一篇文章编译 CTK(Win10 + Qt 5.14.0 + VS2015)_blackwood-cliff的博客-CSDN博客_ctk编译,几乎不改源码,只是用cmake-gui配置一下,然后就能完成包括install在内的所有项目编译。我用vs2013尝试了,可行。这里把我的操作记录一下,并且补原创 2022-05-04 15:00:59 · 2735 阅读 · 0 评论 -
win10操作系统上编译assimp库
opengl尽管功能强大,但是不具备读取模型文件的能力(obj,dae, gltf,fbx等)。它只认数组,不认文本。而复杂的几何形状又往往保存在模型文件里,所以需要一个第三方的软件将opengl不识别的模型文件转化成数组,才能充分发挥opengl的强大功能。assimp库就是这样一个软件。assimp是开源软件,并且跨平台。但是编译它需要cmake。这里介绍如何用cmake在win10操作系统上把assimp源代码转化为一个visual studio的解决方案,然后编译产生一个dll和lib。我的原创 2022-04-23 23:05:45 · 2291 阅读 · 2 评论 -
VS2019 编译+调试 Bullet
本文受了 Create C++ cross-platform projects in Visual Studio | Microsoft DocsHow to set up, compile, and debug a C++ open-source CMake project in Visual Studio that targets both Linux and Windows.https://docs.microsoft.com/en-us/cpp/build/get-started-linux-cma原创 2021-09-19 11:54:02 · 1098 阅读 · 0 评论