【问题标题】:Update translation file using Boost library Qt C++使用 Boost 库 Qt C++ 更新翻译文件
【发布时间】:2016-11-07 18:05:19
【问题描述】:

我在我的 C++ 项目中使用 Boost 库。

我将它包含在 PRO 文件中,如下所示:

win32: INCLUDEPATH += C:/boost_1_60_0
win32: LIBS += "-LC:/boost_1_60_0/stage/lib/"

但是,当我在终端 (cmd) 上运行以下命令来更新我的翻译文件时:

lupdate MyProject.pro

它在 Boost 库路径中搜索要更新的文件。

这正常吗?我该怎么做才能不在 Boost 库路径中搜索?

现在,当我需要运行 lupdate 命令时,我正在注释 Boost 包含行,但我不想每次需要更新我的翻译文件时都这样做。

Qt 5.3.2

提升 1.6.0

【问题讨论】:

  • 我也有同样的问题!您是否找到了比每次都评论提升更好的解决方案?
  • 抱歉,我目前还没有找到其他解决方案。
  • @DvoryankinEvgeny 请看一下 cbuchart 的答案。

标签: c++ qt boost


【解决方案1】:

错误报告 (QTBUG-27936) 中有一个解决方法,涉及 .pro 项目中的 TR_EXCLUDE 选项。它用于告诉lupdate 排除某些文件。我用 Qt 5.6 和 5.8 进行了测试,它按预期工作。这是我的 .pro 文件的摘录:

INCLUDEPATH += /Users/user/libs/boost
TR_EXCLUDE += /Users/user/libs/boost/*

以前的答案 这是以前的答案,我无法确认,而且它恰好是错误的。我把它放在这里,所以它被记录在案。错误报告 (QTBUG-27936) 中有一个解决方法,即在预编译的标头中包含所有 Boost 库,因为 lupdate 不查看它。

【讨论】:

  • 谢谢@cbuchart。你有什么例子可以说明我如何将PRECOMPILED_HEADER 与声明win32: INCLUDEPATH += C:/boost_1_60_0 一起使用?
  • 对不起,我今天测试了它并没有解决问题。我已经用可行的解决方案更新了答案。
  • 非常感谢@cbuchart,它成功了。就我而言,我使用:win32: TR_EXCLUDE += C:/boost_1_60_0/*
猜你喜欢
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多