CMake + gcc:具有相同“签名”的库

时间:2015-08-21 03:35:42

标签: c++ gcc cmake

假设以下目录结构:

 -- CMakeLists.txt (1)
 -- source
 ---- CMakeLists.txt (2)
 ---- view
 ------ terminal
 -------- window.cpp
 ------ sdl
 -------- window.cpp
 -- include
 ---- CMakeLists.txt (3)
 ---- view
 ------ terminal
 -------- window.h
 ------ sdl
 -------- window.h

我正在尝试创建一个支持两种直观表示的应用程序:基于SDL的基于文本的(终端)

现在我知道我可以使用(2)和(3)中的CMake指令并使用相应的 add_directory()指令选择合适的头文件/源文件。

在CMake方面一切正常,问题出在gcc方面:

  

致命错误:View / Window.h:没有这样的文件或目录    #include“View / Window.h”

这当然是预料之中的,因为我还没有更新我的.cpp文件;我根本不知道这里最好的行动方案是什么:

  • 反转目录的订单,例如SDL / View / Window.h而不是 查看/ SDL / Window.h ..?
  • 将.cpp与.h嵌套并使用相对路径..?
  • 其他东西

当然,我在这里要完成的是Window.h的无缝使用,与所选的渲染库无关;类似的东西:

#include "View/Window.h" // Could be terminal or SDL
auto window = new Window();
window->ShowText("Stack");
// ...

我觉得这个问题是结构问题;没有完全掌握CMake我可能没有得到它的大部分概念,因此这可能与gcc无关。

粗略总结:

使用多个(图形)库时,什么是有效的CMake / cpp方法?

0 个答案:

没有答案