我有这个基本的OpenCV代码:
#include "opencv2/opencv.hpp"
int main(){
cv::Mat img = cv::imread("/home/luca/Documents/IMG_20161031_162242.jpg", cv::IMREAD_GRAYSCALE);
if(!img.data)
std::cerr<<"Error reading image"<<std::endl;
return 0;
}
我想对其进行分析以使cv::imread
平行(并尝试对许多其他函数执行相同操作。
阅读this文章,我应该做些什么来分析共享库(在我的情况下为opencv)我应该:
1)以debug(-g)模式编译共享库(libmylib.so)。没有 -pg。 2)export LD_PROFILE_OUTPUT =
pwd
3)export LD_PROFILE = libmylib.so 4)rm -f $ LD_PROFILE.profile 4)执行你的 加载libmylib.so的程序5)sprof PATH-TO-LIB / $ LD_PROFILE $ LD_PROFILE.profile -p&gt; log 6)查看日志。
我有一些问题:
cv::imread
?cmake -DCMAKE_BUILD_TYPE=DEBUG ...
是否包含-g
(实际上我不这么认为)。阅读here我可以通过编辑CMakeLists.txt
: set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
但我不知道在CMakeLists.txt