Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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++ 部署没有ICU依赖项的Qt项目_C++_Qt_Deployment_Unicode_Icu - Fatal编程技术网

C++ 部署没有ICU依赖项的Qt项目

C++ 部署没有ICU依赖项的Qt项目,c++,qt,deployment,unicode,icu,C++,Qt,Deployment,Unicode,Icu,我正在Windows上使用带有MinGW的预构建Qt5.0.2,并且正在为我的项目准备一个安装程序。我注意到我编译的二进制文件依赖于ICU库(icudt49.dll,icuin49.dll,和icuuc49.dll),即使我没有使用任何本地化或Unicode 有没有简单的方法可以阻止Qt使用ICU进行项目,或者我必须从源代码重新编译Qt?没有任何方法,您需要在没有ICU支持的情况下重新编译Qt(因此也没有webkit)。如果您编译Qt,请注意许可条款。基本上,静态配置意味着: 如果您没有为应用程

我正在Windows上使用带有MinGW的预构建Qt5.0.2,并且正在为我的项目准备一个安装程序。我注意到我编译的二进制文件依赖于ICU库(
icudt49.dll
icuin49.dll
,和
icuuc49.dll
),即使我没有使用任何本地化或Unicode


有没有简单的方法可以阻止Qt使用ICU进行项目,或者我必须从源代码重新编译Qt?

没有任何方法,您需要在没有ICU支持的情况下重新编译Qt(因此也没有webkit)。

如果您编译Qt,请注意许可条款。基本上,静态配置意味着:

如果您没有为应用程序购买Qt许可证,则应用程序的代码必须是开源的(GPU许可证)

静态配置意味着在编译应用程序时,所有依赖项都被包装到可执行文件中

我认为你不能用Qt的开源源代码进行Qt的非静态构建


如果我错了,请有人纠正我。

重新编译或使用中的预编译库。您可以在这里找到v5.1.1和v5.2.2的非ICU版本。

首先,它是GPL(Gnu通用公共许可证),其次,Qt是使用LGPL(较小的通用公共许可证)分发的,它有不同的条款。LGPL声明,如果动态链接库(例如,使用DLL而不是.lib文件),您可以将其授权的软件(如Qt)用于商业和封闭源代码软件。添加问题:我有Qt源代码。如何确保它在没有ICU支持的情况下编译?@aaronncfca:Pass“-no-ICU”进行配置。