Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake的Qt5:如何找到qt翻译目录?_C++_Qt_Internationalization_Cmake_Qt5 - Fatal编程技术网

C++ CMake的Qt5:如何找到qt翻译目录?

C++ CMake的Qt5:如何找到qt翻译目录?,c++,qt,internationalization,cmake,qt5,C++,Qt,Internationalization,Cmake,Qt5,我目前正在将我的应用程序移植到Qt5。我使用CMake作为构建系统。 对于Qt4,我使用QT_TRANSLATIONS_DIR变量将预编译的QT翻译复制到目标目录。然而,Qt5没有定义这些特定变量中的任何一个。我知道命令 qmake -query QT_INSTALL_TRANSLATIONS 提供系统上安装Qt翻译的正确路径。我想使用它,但现在我不知道如何获得qmake可执行路径。我试着用 Qt5Core_QMAKE_EXECUTABLE 变量,但它给了我“Qt5::qmake”,这不是一

我目前正在将我的应用程序移植到Qt5。我使用CMake作为构建系统。 对于Qt4,我使用QT_TRANSLATIONS_DIR变量将预编译的QT翻译复制到目标目录。然而,Qt5没有定义这些特定变量中的任何一个。我知道命令

qmake -query QT_INSTALL_TRANSLATIONS
提供系统上安装Qt翻译的正确路径。我想使用它,但现在我不知道如何获得qmake可执行路径。我试着用

Qt5Core_QMAKE_EXECUTABLE
变量,但它给了我“Qt5::qmake”,这不是一个正确的可执行文件

我想看到的是每个目标的属性列表,以了解如何获取特定变量,但我在互联网上找不到类似的内容。CMake文档没有回答我的问题

如何使用cmake和qt5获取qt翻译的路径? 提前感谢您的回答。

好的,我找到了解决方案。 要获取currect Qt prefix的qmake可执行文件位置,可以使用

get_target_property (QT_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)

然而,我觉得奇怪的是,文档中找不到它。

要进一步说明这一点
QT\u QMAKE\u EXECUTABLE
是生成的完整
/QMAKE
路径将存储在其中的变量。此外,
Qt5::qmake
可以选择性地替换为
${Qt5Core\u qmake\u EXECUTABLE}
,该文件设置在
qt5corecoreConfigExtras.cmake