我想知道IDE /编译器/链接器是否有一种方法从头文件名中标识共享对象文件名(lib * .so)。IDE如何从头文件中找到共享库名称.h
我使用eclipse CDT,我包括stdio和其他人一样,但对于一些奇怪的库,我必须告诉IDE库名称和路径。适用于:
#include "opencv2/core/core.hpp"
我必须告诉链接使用的库opencv_core(IDE生成链接一个-lopencv_core参数,所以它看起来libopencv_core.so)。
如何从库名称中获取库文件名是非常清楚的。我不知道如何从头文件中获取它。
我无法在stackoverflow或其他地方找到这个问题的答案,所以我怀疑头文件和库文件名之间没有关系。
非常感谢。
你的怀疑是正确的。考虑到某个头文件在某处,没有任何隐形或隐藏的头文件告诉编译器“嘿,我的库在那边!”。至少在C++标准中没有。单独的C++实现可以自由地做任何他们想做的事情,并且可能有类似的东西。但就C++标准而言,答案是:不。 –
非常感谢你,这是最好的答案。我假设链接器只知道标准C++库在哪里。 –
@SamVarshavchik:将该评论复制到答案中,然后OP可以接受它。 –