1

尽管对 cmake 很陌生,但我成功地创建了一个新项目,其中包括Qt5LinguistTools一个包含我的翻译的 .ts 文件。我在我的 cmake 文件中添加了一个部分,以使用定义的宏在我的文件上调用 lupdate 和 lrelease QT5_CREATE_TRANSLATION

它实际上使用我的 ts 文件和其他给定选项调用 lupdate,但始终还包括附加参数

@<my_project_build_dir>/<tsfilename>_lst_file

(告诉 lupdate 额外的源目录)。
我假设我的源目录是内容,但令人惊讶的是它包含项目中使用的所有包含路径:

例如,因为我也使用 boost 库,所以我的 boost_dir 也包括在内。这对我来说似乎很奇怪。

我分析了正在创建 lst_file 的宏,所以对我来说,这似乎是 cmake 宏中的一个错误。

如何在不触及 qt 宏的情况下禁用此 lst_file ?

4

1 回答 1

0

Qt-Macro 显然包括所有通过INCLUDE_DIRECTORIES(...). 为避免这种情况,请通过以下方式声明这些路径

SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES INCLUDE_DIRECTORIES "") target_include_directories( ${PROJECT_NAME} ... ).

于 2017-08-11T10:38:27.297 回答