在我使用的库中存在一个问题:所有路径都是相对的。path1/path2/file.h我的意思是,来自has 的文件#include "interface.h",其(界面)位于anotherpath/anotherpath2/interface.h.
有什么方法可以强制链接器查找不同目录中的包含内容?
链接器不太关心头文件。这是您正在查看的编译器。(说实话,这是预处理器。;-))
CMake 有include_directories()命令:
include_directories( "anotherpath/anotherpath2" )
Run Code Online (Sandbox Code Playgroud)
这,在./CMakeLists.txt,将成为#include "interface.h"可能。
但这是你真正想要的吗?通常,目录用于隔离模块。#include "anotherpath/anotherpath2/interface.h"将发送一个更清晰的消息,说明此处实际包含的内容,以及人们可以在哪里找到该头文件来查找其声明。也许重构您的 include 语句比向 CMake 配置添加大量 include 目录更好......
一般来说,你的问题给出的背景很少,所以很难给出建议。
| 归档时间: |
|
| 查看次数: |
2590 次 |
| 最近记录: |