GNU CMAKE 笔记
最近在调试OJ, 忙了4天多, 最后的问题是judge模块不能正常工作.
judge 模块就是两个C++源文件, 它的工作是
- 从数据库获取用户提交的源码
- 测评
- 将测评结果写到数据库
测评部分是与数据库无关的, 我遇到的问题是C++和数据库无法建立连接.
这个问题根源于我用的是LAMPP的集成版, 而文档里是分别安装Apace, MySQL, 和PHP的.
这两种方式下, 某些库文件, 比如mysql.h
和libmysqlclient.so
, 的位置是不同的, 因而需要调整的有
- 源码
- makefile文件
我对下列两大块内容都很不熟悉, 导致调试过程进展很慢
- Linux的文件系统, CLI基础
- build 源码的过程
暑假做OpenCV 人脸识别项目时, 就发现这两个问题, 但事后没有仔细研究 (太懒). 下面要努力学习这些知识
这篇随笔开个头, 搜集一些关于 Make 的知识.
(以下内容参考 GNU Make Manual)
(GNU Make is a version of Make)
GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.
Make gets its knowledge of how to build your program from a file called the makefile, which lists each of the non-source files and how to compute it from other files. When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.
In a program, typically, the executable file is updated from object files, which are in turn made by compiling source files.
GNU CMAKE 笔记的更多相关文章
- [CMake笔记] CMake向解决方案添加源文件兼头文件
回顾 在上一篇笔记里总结的时候说到,aux_source_directory这个函数在添加源码文件时,是不会把头文件添加进去的,这里就介经一下另外一个方法,也是我一直使用的. 添加文件*.cpp与*. ...
- [CMake笔记] 初识CMake
与CMake相遇 做C/C++的人都应该经历过,以往拿到一个开源代码,想自己编译出来,总会因为VS的版本不同而出现各种各样的问题,使编译过程困难重重,更多时候就会放弃使用它了.而这个过程反过来,也会使 ...
- GNU/Hurd笔记整理
patch 0 关于文件锁支持的解决方案,大部分是由Neal Walfield在2001年完成的.这些补丁由Marcus Brinkmann发表,随后被Michael Banck于2002年修改了部分 ...
- CMake 笔记
1. configure_file configure_file()让你可以在代码文件中使用CMake中定义的变量. configure_file(<input> <output&g ...
- CMake笔记(一)
CMake,比makefile更方便,虽然手写makefile同样重要 CMake的所有命令均出现在CMakeList.txt中,注意名字不要写错,并置于源代码目录中 # CMake 最低版本号要求 ...
- cmake笔记
注:cmake . 当前文件夹(一个点) cmake .. 父目录(两个点) 例子一 一个经典的C程序,如何用cmake来进行构建程序呢? //main.c #include <stdi ...
- GNU MAKE 笔记
最近在调试OJ, 忙了4天多, 最后的问题是judge模块不能正常工作. judge 模块就是两个C++源文件, 它的工作是 从数据库获取用户提交的源码 测评 将测评结果写到数据库 测评部分是与数据库 ...
- GCC笔记
The History of GCC 1984年,Richard Stallman发起了自由软件运动,GNU (Gnu's Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可 ...
- CMake安装(源码方式)
CMake主页是 https://cmake.org/download/ 一.不指定安装目录方式(不需要配置环境变量) 1.安装必备包(存在的包不用卸载,yum会自动更新) yum install - ...
随机推荐
- C#微信公众号开发系列教程四(接收普通消息)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- PHP 实现页面静态化
PHP文件执行阶段:语法分析->编译->运行 静态html文件执行顺序:运行 动态程序: 连接数据库服务器或者缓存服务器->获取数据->填充到模板->呈现给用户 关于优化 ...
- TextBoxFor控件的扩展---Bootstrap在mvc上的应用
TextBoxFor控件的问题: 1:自带了样式,再用bootstrap样式会有冲突. 2:要加水印,js事件,限制输入长度比较麻烦. 因此需要对textboxfor控件进行扩展. 目标: 1:能使用 ...
- SDRAM基础知识
SDRAM知识普及 在学习SDRAM之前,必须先了解"SDRAM"这个概念性的东西,并有感性的认识转变到一种理性的认识,所谓理性的认识就是实质性的东西…….不多说,相信你已经迫不急 ...
- doc2vec使用说明(一)gensim工具包TaggedLineDocument
gensim 是处理文本的很强大的工具包,基于python环境下: 1.gensim可以做什么? 它可以完成的任务,参加gensim 主页API中给出的介绍,链接如下: http://radimreh ...
- 1025关于explain的补充1
https://segmentfault.com/q/1010000004195469 我的困惑 http://www.cnblogs.com/BeginMan/p/3754322.html 可以指定 ...
- Ubuntu14.04下安装Hadoop2.4.0 (单机模式)
一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...
- ( 转 ) Android自绘字体大小paint.settextsize随分辨率大小变化
1.获取当前设备的屏幕大小 DisplayMetrics displayMetrics = new DisplayMetrics(); this.getWindowManager().getDefau ...
- 【BZOJ 2154】Crash的数字表格
制杖了,,,求前缀和的时候$i×i$是int,然后当$i=10^7$时就喜闻乐见地爆int了,,,对拍之后查了一个下午的错才发现这个问题,,,最后枚举用的变量全都强行加上long long才A掉 #i ...
- css-让div永远在最底部
<div class="a"></div> .a{ position:fixed; bottom:0; }