CMake不会编译具有非标准扩展名的文件

时间:2019-12-27 11:10:16

标签: c++ cmake

我有一个项目,该项目具有自定义脚本,这些脚本可以自动生成具有非标准扩展名的C ++代码文件(.acpp和.ah分别用于生成的源文件和标头)。但是,此代码未编译,因为在编译时出现链接器错误,当将文件从.acpp重命名为.cpp时,链接器错误会消失。

set(HEADER_FILES
    normal.h
    foo.ah
)


set(SOURCE_FILES
    normal.cpp
    foo.acpp
)

add_library(lib STATIC ${SOURCE_FILES} ${HEADER_FILES})

在以上情况下,仅normal.cpp会被编译,如果它调用foo.acpp中定义的函数,则会出现链接器错误。

我尝试使用:

  • list(APPEND CMAKE_CXX_SOURCE_FILE_EXTENSIONS acpp)
  • SET_SOURCE_FILES_PROPERTIES(${SOURCE_FILES} PROPERTIES LANGUAGE CXX)
  • add_definitions("-x c++")
  • set_target_properties(lib PROPERTIES LINKER_LANGUAGE CXX)

并查看了以下相关问题:

0 个答案:

没有答案