【问题标题】:Attach library .h to makefile将库 .h 附加到 makefile
【发布时间】:2016-12-06 17:52:19
【问题描述】:

我想在 cmake 中将 librarywiringPi.h 添加到我的 Makefile 中,但是 cmake 没有看到这个头文件。

cmake_minimum_required(VERSION 2.8)
project( program )
include_directories(include)
find_package( OpenCV REQUIRED )
add_executable( program program.cpp )
target_link_libraries( program ${OpenCV_LIBS} ) 

项目组织为:

|-- CMakeLists.txt
|
|-- 程序.cpp
|
|-- 连线Pi.h

我应该如何将此标头添加到 Makefile?

【问题讨论】:

  • 您不需要添加标题。 CMake 自己计算出来。
  • @Stargateur 我转储了 add_executable(program program.cpp),我尝试了你的方法,但它不起作用 /home/luko/naukacop/program.cpp:2:22:致命错误:wiringPi。 h:没有这样的文件或目录编译终止。 CMakeFiles/program.dir/build.make:62:目标“CMakeFiles/program.dir/program.cpp.o”的配方失败 make[2]:*** [CMakeFiles/program.dir/program.cpp.o]错误 1 ​​CMakeFiles/Makefile2:67: 目标“CMakeFiles/program.dir/all”的配方失败 make[1]: *** [CMakeFiles/program.dir/all] 错误 2 Makefile:83: 目标“所有”的配方制作失败:*** [全部] 错误 2
  • cmake_minimum_required(VERSION 2.8) project( program ) include_directories(wiringPi) add_executable(wiringPi lukasz22/naukacop/wiringPi.h ) find_package( OpenCV REQUIRED ) add_executable( program program.cpp wiringPi.h) target_link_libraries( program ${OpenCV_LIBS} ) @Stargateur 是否正确?我收到一些错误:(
  • @Stargateur 抱歉,今天我开始使用 Stackoverflow。 `CMakeLists.txt:4 (add_executable) 处的 CMake 错误:找不到源文件:luko/naukacop/wiringPi.h 已尝试扩展名 .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh 。 h++ .hm .hpp .hxx .in .txx '
  • 是的,我使用了树,但我的库在文件夹中,但我只在 CMakeFiles 中看到我的库

标签: c++ linux makefile cmake


【解决方案1】:

这必须适用于您的情况:

cmake_minimum_required(VERSION 2.8)
project(program)
find_package(OpenCV REQUIRED)
add_executable(program program.cpp wiringPi.h)
target_link_libraries(program ${OpenCV_LIBS})

如果您需要更多信息,请阅读此How to properly add include directories with CMake?。你应该阅读官方的tuto。请注意,2.8 是一个非常旧的版本,您应该更新到最新的稳定版。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多