自己记录一些CMAKE使用遇到的问题
1.关于CmakeLists中的CMAKE_INSTALL_RPATH
CMAKE_INSTALL_RPATH代表编译后的程序搜索动态库.so的路径。注意,此处不能使用~/这种代表主目录的快捷路径表达语言,需要写绝对路径,否则会链接不到动态库位置所在(按理说不会出现,但不知道为什么)。
2.关于查询动态库指令
通过 ldd + 编译后程序名来查询动态库是否链接成功,成功会显示相应.so,失败显示not found。
ldd xxx
如上图所示,都可以找到动态库.so。
同样,也可以通过readelf 命令来查询,命令如下:
readelf -d yourexe
效果如下图
3.关于sudo后文件夹有锁
通常使用sudo chmod 777 来解锁,但是此方法对于文件夹使用,则会导致文件夹内的文件再次加锁。
使用如下命令解决
sudo chown -R yourusername yourfilename