2

我有一个包含 txx 文件和源文件的项目。我使用了以下 CMake 配置

SET(Main Step6.cpp Step6main.cpp Step6RegionGrowing1.cpp Step6RegionGrowing2.cpp moc_Step6.cpp Step6RegionGrowing.txx) SET(MainH Step6.h)

add_executable(${PROJECT_NAME} ${Main} ${MainH} ) target_link_libraries(${PROJECT_NAME} ${ALL_LIBRARIES})

但是我的 sln 文件在标题中显示 txx 文件,并在编译时将其视为文本文件。我检查了一个 cpp 是否包含该 txx,当我输入某行只是为了输入一些错误,以便我可以检查该 txx 是否正在编译,它没有返回任何错误。现在我的问题是

  1. 为什么 txx 不编译?
  2. 当我尝试将其添加为源时,为什么它会出现在标题中?
  3. 为什么 Visual Studio 将其视为文本文件?
  4. 如何编译这个项目?

提前致谢。

4

1 回答 1

1

我认为 CMake 查找文件扩展名以找出 C++ 源文件,并且不将.txx扩展名识别为 C++ 源文件扩展名之一。CMake 文档描述了明确设置文件语言的方法。例如

set_source_files_properties(Step6RegionGrowing.txx PROPERTIES LANGUAGE CXX)

希望能帮助到你!

于 2013-01-18T10:24:33.613 回答