在网上看到有人贴过过程,照着做发现有点问题。这里自己写一下,以备后用。
其实和一般库的编译过程差别不大,不过是第一次在命令行下使用cmake,所以出了点岔子。 首先是下载jrtplib和jthread,解压,放在任意文件夹内。
先编译jthread,在shell中输入cmake CMakeList.txt,然后make,sudo make install, 库会被默认安装到/usr/local/lib下,而头文件则在/usr/local/include/jthread下。想要改变 安装路径,需要使用cmake -i来修改选项中的安装路径。
理论上说,编译完jthread后,jrtplib在编译过程中就会自动找到jthread的库,然后打开RTP_SUPPORT_THREAD选项, 但不知道为啥,我这里默认没有打开。需要在cmake -i中自己修改JTHREAD_DIR和另一个选项来手动指定jthread库的安装路径。 可以在cmake结束后,找到rtpconfig.h文件,看看里面是否预定义了RTP_SUPPORT_THREAD宏,如果没有,那就是cmake没有找到jthread的安装路径。
这一步无误后,后面就和jthread的编译过程一样。install后,注意在链接库的时候要同时指定jthread和jrtp两个库,否则会出现
未找到的引用xxx
的字样,头文件搜索路径也要明确指定。图省事可以直接将jthread的4个头文件mv到jrtp的头文件目录中。