2015-12-21 69 views
2

当编译一些代码,我想哪个库的版本是在编译时编译代码和“保存”库版本

用在编译的程序“嵌入”编译

g++ txtbin.cpp -o txtbin `pkg-config opencv --cflags --libs` 

库版本

pkg-config --modversion opencv 

如何在程序中“嵌入”图书馆版本?用户运行该程序每次我想输出的opencv

回答

4

一种方法库版本要做到这一点是使用-D编译器选项,这相当于一个#define

g++ txtbin.cpp -o txtbin `pkg-config opencv --cflags --libs` -DOPENCV_VERSION=`pkg-config --modversion opencv` 

您可能需要将版本命令包含到""中。

然后在你的代码只是:

std::cout << "OpenCV Version Used: " << OPENCV_VERSION << std::endl; 
+0

你可能想换行或其他一些空格字符,以及一些描述性文字。 –

+0

编译时,是不是可以将逻辑添加到代码中,而不是作为额外的参数? – clarkk

+0

@clarkk:如果OpenCV提供了这样的功能,是的。可以? (这与共享库工作的额外好处,所以你可能会想要这样做。) –